SQL介绍
结构化查询语言,5.7 以后符合SQL92严格模式,通过sql_mode参数来控制
DDL(Data Definition Language,数据定义语言):用于定义数据库、数据表和列,可以用来创建、删除、修改数据库和数据表的结构,包含CREATE、DROP和ALTER等语句。
DML(Data Manipulation Language,数据操作语言):用于操作数据记录,可以对数据库中数据表的数据记录进行增加、删除和修改等操作,包含INSERT、DELETE和UPDATE等语句。
DCL(Data Control Language,数据控制语言):用于定义数据库的访问权限和安全级别,主要包含GRANT、REVOKE、COMMIT和ROLLBACK等语句。
DQL(Data Query Language,数据查询语言):用于查询数据表中的数据记录,主要包含SELECT语句。
DDL的应用
库
增
建库规范:
- 库名要和业务相关
- 库名不能有大写字母、数字开头
- 建库要加字符集
1 |
create database [if not exists] 数据库名 [charset 字符编码名称(utf8mb4)] [collate 排序规则(utf8mb4_general_ci)]; |
删
生产中禁止使用
1 |
drop database 数据库名 |
改
先查在改
1 |
SHOW CREATE DATABASE 数据库名; |
注意:修改字符集,修改后的字符集一定是原字符集的严格超集
查(DQL)
显示所有数据库 形式:show databases;
显示一个数据库的创建语句: show create database 数据库名;
其他:show charset; show collation;
当前选择的数据库:\s、select database();
表
创建表规范
- 库名需与业务相关,且小写与非数字开头,表、列均需有注释
- 注意字符集和存储引擎
- 选择合适的数据类型
- 每个列设置为非空,若无法保证非空,用0来填充。
增
1 |
create table [if not exists] 表名 |
注意:字段结束为
,
分隔, 整体结束为)
分隔
删除(生产中禁用命令)
DROP TABLE table_name
改
1 |
ALTER TABLE table_name [ADD、DROP、MODIFY] |
表属性查询(DQL)
1 |
# |