数据库 四大语言 - DDL ,DML,DCL,DQL

数据库四大语言:

  1. DDL (数据定义语言)

数据定义语言 - Data Definition Language,用来定义数据库的对象,如数据表、视图、索引等。

create drop alter truncate

  1. DML (数据操纵语言)

数据处理语言 - Data Manipulation Language,在数据库表中更新,增加和删除记录。如 update, insert, delete 不包含查询。

DML操作是可以手动控制事务的开启、提交和回滚的。DDL操作是隐性提交的,不能rollback!

insert into `表名` (字段1, 字段2, 字段3...) values('值1', '值2', '值3', ...),('值1', '值2', '值3', ...),('值1', '值2', '值3', ...),...;

update `表名` set `字段1` = '值1', `字段2` = '值2' where 条件;

delete from `表名` where 条件
  1. DCL (数据控制语言)

数据控制语言 – Data Control Language,指用于设置用户权限和控制事务语句。如grant,revoke,if…else,while,begin transaction。

  1. DQL (数据查询语言)

数据查询语言 – Data Query Language,数据表记录的查询。

聚合函数:count sum avg min max
聚合函数不允许使用在where中

having,查询后处理

  1. where是数据结果出来之前进行过滤,having是数据结果出来之后进行过滤(所以having中可以用字段别名,和聚合函数)
  2. 性能来说,having的性能要低于where性能,但having能做很多where做不了的事情

子查询构建SQL成分
构建where条件时需要看操作是 等于 这种单一值的操作 还是in这种范围值的操作,如果是单一值的操作,那子查询查询出来的数据就一定要是一个点状数据,若是范围值的话,则子查询查询出来的数据一定要是一个条状数据,不允许查询面状数据

构建字段时,子查询一定要查询出一个点状数据,不允许查询条状数据和面状数据

构建表时,子查询一定要查询出一个面状数据或者条状数据,因为查询点状数据则没有任何意义

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!