SQL(Structured Query Language)是一种标准,作为一种访问【关系型数据库的标准语言】。许多数据库产品,如Oracle,DB2,SQL Server,PostgreSQL,MySQL都支持它。在过去几年中,NoSQL最初声称不需要SQL,但最终不得不修正为"Not Only SQL",以便兼容SQL技术。
目前比较典型的版本是 SQL 92标准。包括MySql在内的其他数据库,在SQL 92 或 SQL 99这些标准基础之上,还扩展了一些自己的SQL语句,如 MySQL中的limit关键字。
SQL语言分类
-
DDL
数据定义语言,用来定义数据库对象,数据库,表,列等。如create,alter,drop等
-
DML
数据操作语言,用来对数据库中的表的记录进行更新。如insert,update,delete等
-
DCL
数据控制语言,用来定义数据库的访问权限,安全级别等。如grant等
-
DQL:
数据查询语言,用来查询。如select,from,where等
SQL语法顺序和解析顺序
# 语法顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> ORDER BY <order_by_condition> LIMIT <limit_number> # 解析顺序 FROM <left_table> ON <join_condition> <join_type> JOIN <right_table> -- 这一步和上一步,会循环执行 WHERE <where_condition> -- 这一步会循环执行,多个条件从左往右 GROUP BY <group_by_list> HAVING <having_condition> SELECT -- 分组之后才执行SELECT DISTINCT <select_list> ORDER BY <order_by_condition> LIMIT <limit_number> -- 这一步是MySQL独有的语法,前面都是SQL92标准
FROM
对FROM的左表和右表计算笛卡尔积,产生虚表VT1
select * from seller join product;
ON
产生虚表VT1后,通过ON关键字进行筛选,只有符合
select * from seller s join product p on s.id = p.id;
OUTER JOIN
LEFT (OUTER) JOIN : 会返回左表(保留表)中全部记录以及右表中满足ON条件的记录
RIGHT (OUTER) JOIN : 同理
INNTER JOINT : 只返回左右两表中满足ON条件的记录
若指定了OUTER JOIN(LEFT JOIN,RIGHT JOIN),那么保留表中未匹配ON条件的行,就会作为外部行,添加到虚表VT2中,形成虚表VT3。
select * from seller s right join product p on s.id = p.id;
若FROM子句,包含不止2个表,则会对上一个join连接产生的结果VT3,和下一个表重复执行上面的步骤
WHERE
根据where条件过滤
GROUP BY
对结果进行分组
-- mysql 8 默认开启了 only_full_group_by select version(),@@sql_mode; -- 需要把这个选项关掉, set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; -- 后执行group by 正常 select * from user group by name;
HAVING
对分组的结果,进行having条件过滤
SELECT
选取指定的列
DISTINCT
针对某列去重
注意DISTINCT 一定要SELECT的第一列,加在后面无效
-- 下面无效 select id, distinct name from user; -- 下面有效 select distinct name from user;
distinct 后加多列,则是将多列拼接在一起来去重
若想根据某一列去重,并显示出整行的数据,可以用GROUP BY
ORDER BY
排序
LIMIT
分页
注意:对于select中的列的别名,只有在order by中才能使用,由上面的SQL解析顺序可知
Atas ialah kandungan terperinci Sintaks MySQL SQL dan analisis kod sumber jujukan parsing SQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

MySQL sesuai untuk pemula untuk mempelajari kemahiran pangkalan data. 1. Pasang alat pelayan dan klien MySQL. 2. Memahami pertanyaan SQL asas, seperti SELECT. 3. Operasi data induk: Buat jadual, masukkan, kemas kini, dan padam data. 4. Belajar Kemahiran Lanjutan: Fungsi Subquery dan Window. 5. Debugging dan Pengoptimuman: Semak sintaks, gunakan indeks, elakkan pilih*, dan gunakan had.

MySQL dengan cekap menguruskan data berstruktur melalui struktur jadual dan pertanyaan SQL, dan melaksanakan hubungan antara meja melalui kunci asing. 1. Tentukan format data dan taip apabila membuat jadual. 2. Gunakan kunci asing untuk mewujudkan hubungan antara jadual. 3. Meningkatkan prestasi melalui pengindeksan dan pengoptimuman pertanyaan. 4. Secara kerap sandaran dan memantau pangkalan data untuk memastikan pengoptimuman keselamatan data dan prestasi.

MySQL adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pembangunan web. Ciri -ciri utamanya termasuk: 1. Menyokong pelbagai enjin penyimpanan, seperti InnoDB dan Myisam, sesuai untuk senario yang berbeza; 2. Menyediakan fungsi replikasi master-hamba untuk memudahkan pengimbangan beban dan sandaran data; 3. Meningkatkan kecekapan pertanyaan melalui pengoptimuman pertanyaan dan penggunaan indeks.

SQL digunakan untuk berinteraksi dengan pangkalan data MySQL untuk merealisasikan penambahan data, penghapusan, pengubahsuaian, pemeriksaan dan reka bentuk pangkalan data. 1) SQL Melaksanakan operasi data melalui Pilih, Masukkan, Kemas kini, Padam Penyataan; 2) Gunakan pernyataan membuat, mengubah, drop untuk reka bentuk dan pengurusan pangkalan data; 3) Pertanyaan kompleks dan analisis data dilaksanakan melalui SQL untuk meningkatkan kecekapan membuat keputusan perniagaan.

Operasi asas MySQL termasuk membuat pangkalan data, jadual, dan menggunakan SQL untuk melakukan operasi CRUD pada data. 1. Buat pangkalan data: createdatabasemy_first_db; 2. Buat Jadual: CreateTableBooks (Idintauto_IncrementPrimaryKey, Titlevarchar (100) NotNull, Authorvarchar (100) NotNull, Published_yearint); 3. Masukkan Data: InsertIntoBooks (Tajuk, Pengarang, Published_year) VA

Peranan utama MySQL dalam aplikasi web adalah untuk menyimpan dan mengurus data. 1.MYSQL dengan cekap memproses maklumat pengguna, katalog produk, rekod urus niaga dan data lain. 2. Melalui pertanyaan SQL, pemaju boleh mengekstrak maklumat dari pangkalan data untuk menghasilkan kandungan dinamik. 3.MYSQL berfungsi berdasarkan model klien-pelayan untuk memastikan kelajuan pertanyaan yang boleh diterima.

Langkah -langkah untuk membina pangkalan data MySQL termasuk: 1. Buat pangkalan data dan jadual, 2. Masukkan data, dan 3. Pertama, gunakan pernyataan CreatedataBase dan createtable untuk membuat pangkalan data dan jadual, kemudian gunakan pernyataan InsertInto untuk memasukkan data, dan akhirnya gunakan pernyataan PILIH untuk menanyakan data.

MySQL sesuai untuk pemula kerana mudah digunakan dan berkuasa. 1.MYSQL adalah pangkalan data relasi, dan menggunakan SQL untuk operasi CRUD. 2. Ia mudah dipasang dan memerlukan kata laluan pengguna root untuk dikonfigurasi. 3. Gunakan Masukkan, Kemas kini, Padam, dan Pilih untuk Melaksanakan Operasi Data. 4. Orderby, di mana dan menyertai boleh digunakan untuk pertanyaan yang kompleks. 5. Debugging memerlukan memeriksa sintaks dan gunakan Jelaskan untuk menganalisis pertanyaan. 6. Cadangan pengoptimuman termasuk menggunakan indeks, memilih jenis data yang betul dan tabiat pengaturcaraan yang baik.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver Mac版
Alat pembangunan web visual