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  | 
                                            
                                                #  |