-
DQL 数据查询语言(Data Query Language)
数据检索语句:即增删改查中的查询语句
语法:
SELECT <字段名> FROM <表或视图名> WHERE <查询条件>;
附:
- 书写顺序
①SELECT[DISTINCT]
② FROM
③JOIN
④ON
⑤WHERE
⑥GROUP BY
⑦ HAVING
⑧UNION
⑨ORDER BY
⑩LIMIT - 执行顺序
①FROM:将数据从硬盘加载到数据缓冲区,方便对接下来的数据进行操作。
②WHERE:从基表或视图中选择满足条件的元组。(不能使用聚合函数)
③JOIN:(如right left 右连接-------从右边表中读取某个元组,并且找到该元组在左边表中对应的元组或元组集)
④ON:join on实现多表连接查询,推荐该种方式进行多表查询,不使用子查询。
⑤GROUP BY:分组,一般和聚合函数一起使用。
⑥HAVING:在元组的基础上进行筛选,选出符合条件的元组。(一般与GROUP BY进行连用)
⑦SELECT:查询到得所有元组需要罗列的哪些列。
⑧DISTINCT:去重的功能。
⑨UNION:将多个查询结果合并(默认去掉重复的记录)。
⑩ORDER BY:进行相应的排序。
⑪LIMIT 1:显示输出一条数据记录(元组)
点击进入源博客
-
DDL数据定义语言(Data Definition Language)
常用的有CREATE和DROP,用于在数据库中创建新表或删除表,创建列属性和删除列属性,以及为表加入索引等。
- 查看所有数据库
show databases
- 指定使用某个数据库
use [数据库名]
- 创建数据库
create database [数据库名]
- 删除数据库
drop database [数据库名]
- 创建表
create table [表名] (
[字段名1] [数据类型] primary key ,
[字段名2] [数据类型] [unique key] [not null] [default 默认值]
)
- 删除表
drop table [表名]
- 查看表结构
desc [数据库名].[表名称]
desc [表名称]
- 增加列属性
alter table [数据库名].[表名称] add [column] 字段名 数据类型;
alter table [表名称] add 字段名 数据类型;
- 修改列属性类型
alter table [数据库名].表名称 modify [column] 字段名 新数据类型;
- 修改列名
alter table 【数据库名.]表名称 change【column】 旧字段名 新字段名 新数据类型;
- 删除列
alter table drop [列名]
- 修改表名
alter table [旧表名] rename [新表名]
具体点击此博客
-
DML数据操作语言(Data Manipulation Language)
数据操作语句:即增删改查中的增删改语句
语法:
INSERT INTO <表名>(列1,列2,...) VALUES (值1,值2,...);
UPDATE <表名> SET <列名>=新值 WHERE <列名>=某值;
DELETE FROM <表名> WHERE <列名>=某值;
-
DCL数据控制语言(Data Control Language)
是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、存储程序、用户自定义函数等数据库对象的控制权。由 GRANT 和 REVOKE 两个指令组成
-
DPL事务处理语言
事务处理语句能确保被DML语句影响的表的所有行及时得以更新。
- BEGIN 或 START TRANSACTION 显式地开启一个事务;
- COMMIT 也可以使用 COMMIT WORK,不过二者是等价的。COMMIT 会提交事务,并使已对数据库进行的所有修改成为永久性的;
- ROLLBACK 也可以使用 ROLLBACK WORK,不过二者是等价的。回滚会结束用户的事务,并撤销正在进行的所有未提交的修改;
- SAVEPOINT identifier,SAVEPOINT 允许在事务中创建一个保存点,一个事务中可以有多个 SAVEPOINT;
- RELEASE SAVEPOINT identifier 删除一个事务的保存点,当没有指定的保存点时,执行该语句会抛出一个异常;
- ROLLBACK TO identifier 把事务回滚到标记点;
- SET TRANSACTION 用来设置事务的隔离级别。InnoDB 存储引擎提供事务的隔离级别有READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ 和 SERIALIZABLE。
具体点击此博客