我们为什么需要DDL语句?
数据库环境搭建时,都是统一的通用模板,而具体使用场景往往是千差万别的,比如某个库需要的表数量及表名都是不同的,表的列数与列名也都是不同的,每一列的数据类型也是不同的。还更数据库更基本的配置,如字符集等。
那如何通过SQL语句满足这些千差万别呢?我们就需要DDL语句来实现了。
DDL的关键词
一般文章里,都会按具体的实现功能来介绍SQL的语句分类,我决定采用关键词的形式介绍,如果SQL语句中用到了如下关键词,那么它就是DDL语句,而具体每个关键词的用途及用法,我会在文章后面一一详细介绍。
需要注意的是,DDL语句往往对数据库的结构影响较大,特别是修改型的DDL语句。如果同一张表同时被多段代码、多个系统使用的话,很可能对其他代码造成影响,所以在使用DDL语句时要全局分析影响。
这里主要是介绍DDL语句包括的内容,使用的介绍也只是挑选几个常用示例,具体的使用场景会在每个功能的单独博客中介绍。DDL中的关键词如下表:
关键词 | 作用 |
---|---|
CREATE、ALTER、DROP | 创建,修改,移除方案对象及其他数据库结构,包括数据库自身及数据库用户 |
RENAME | 修改方案对象名称 |
TRUNCATE | 删除方案对象的所有数据,但不移除对象结构 |
GRANT、REVOKE | 授予或收回权限及角色 |
AUDIT、NOAUDIT | 打开或关闭审计选项 |
COMMENT | 向数据字典中添加注释 |
CREATE、ALTER、DROP
这三个,是最常见的DDL语句关键词,可以用来对方案对象及其他数据库结构进行创建,修改和移除。
方案对象及其他数据库结构包括:表、数据库本身、视图、索引、用户、存储过程、触发器、事件等等。
CREATE
我们使用CREATE语句来创建新的数据库结构:
- 1.创建表 CREATE Table:
CREATE TABLE t_students(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(64),
age int,
gender VARCHAR(12),
college_id INT