DDL/DML/DQL/DQL---mysql
0.
DQL (DataDefinitionLanguage):【数据查询语言】 用来定义数据库对象:库、表、列等
使用DQL对数据进行操作之后,校验数据的准确性,用到select from,包括where过滤条件、order by排序、group by分组,以及having进行二次筛选,limit进行分页查询
DML (DataManipulationLanguage)【数据操纵语言:插入、变更表中记录】:数据操作语言,用来定义数据库记录(数据);
insert into对数据进行插入,以及使用update set对数据进行修改,使用delete from对数据进行删除
DDL (DataDefinitionLanguage)【数据定义语言:创建、删除数据库和表等对象】用来定义数据库对象:库、表、列等;
create创建表,alter修改,drop删除表,以及show进行查看
DCL (DataControlLanguage):【数据控制语言:确认、取消对数据库中数据的更改】数据控制语言,用来定义访问权限和安全级别
使用begin对事物进行处理,commit进行事物的提交,以及事物回滚rollblack,和end结束
1.1 查询的结构
#方式1: SELECT ...,....,... FROM ...,...,.... WHERE 多表的连接条件 AND 不包含组函数的过滤条件 GROUP BY ...,... HAVING 包含组函数的过滤条件 ORDER BY ... ASC / DESC LIMIT ...,... #方式2: SELECT ...,....,... FROM ... JOIN ... ON 多表的连接条件 JOIN ... ON ... WHERE 不包含组函数的过滤条件 AND / OR 不包含组函数的过滤条件 GROUP BY ...,... HAVING 包含组函数的过滤条件 ORDER BY ... ASC / DESC LIMIT ...,... #其中: #(1) from :从哪些表中筛选 #(2) on :关联多表查询时,去除笛卡尔积 #(3) where :从表中筛选的条件 #(4) group by :分组依据 #(5) having :在统计结果中再次筛选 #(6) order by :排序 #(7)limit:分页
1.2 SELECT执行顺序
1. 关键字的顺序是不能颠倒的:
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT...
2.SELECT 语句的执行顺序(在 MySQL 和 Oracle 中,SELECT 执行顺序基本相同):
FROM -> WHERE -> GROUP BY -> HAVING -> SELECT 的字段 -> DISTINCT -> ORDER BY -> LIMIT
比如你写了一个 SQL 语句,那么它的关键字顺序和执行顺序是下面这样的:
---未完待续

浙公网安备 33010602011771号