一、介绍
DDL也就是数据定义语言,其完整英文是Data Definition Language ,这是SQL五大语句之一,主要包括create、alter、drop和truncate四个关键字。
数据库的逻辑单位之一是数据表,数据表就是一个二维表,即包括x行和y列,数据越多,行数越多,列数一般是固定的,但也可以增加列数,行在数据库里叫元组,列代表该数据的属性,
二、create
create是用来创建一个数据表,其语法结构为:
create table [模式名.]表名
(
columnName1 datatype [default xpr],
…
);
看着比较深奥,但其实真正写的时候没那么复杂,先解释一下几个单词的意思:
- create table:固定写法;
- [模式名.]:用中括号括起来的意思是可以不写,这个一般不用写;
- columnName1:表示列名,也就是属性名;
- datetype:数据类型,表示该列保存了什么类型的数据,支持什么数据类型可以见下表;
- [default xpr]:默认值,可以不写,当该列传入的数据为空时,会自动赋值为默认值。
另外,…表示可以继续按格式添加列。
举个栗子:
例如我要建立一张学生表,里面包括姓名和学号以及性别,性别默认男:
create table student
(
name varchar(5),
id int,
sex varchar(2) default '男'
);
注意:创建多个列要用英文逗号隔开,字符串用单引号引起,而且,这只是一条语句,不要忘了最后添加分号!
三、alter
alter的意思是:改变、修改,也就是说由该单词引导的语句表示对数据表进行修改,主要包括:增加列定义、修改列定义、删除数据表中的某列、重命名数据表和修改列名。
①增加列定义
语法格式和建表语法格式括号部分完全相同,只是此时圆括号里的列定义是在追加到已有表的列定义后面。
例如:我要在学生表中添加一个电话号码列
alter table student
add tel varchar(11);
因为只添加了一列,所以可以省略括号,如果要添加多列,则应该用括号包围。
②修改列定义
语法格式:
alert table 表名
modify column_name datatype [defult expr] [first|after col_name];
例如:将student表中id列原本是int型修改成varchar型
alter table student
modify id varchar(12);
③删除数据表中的某列
语法:
alter table 表名
drop column_name;
例如:删除student数据表中的id列
alter table student
drop id;
④重命名数据表
语法格式:
alter table 表名
rename to 新表名
例如:将数据表student改名为stu
alter table student
rename to stu;
⑤修改列名
语法:
alter table 表名
change old_column_name new_column_name type [default expr] [first|after col_name]
注意:该语句不仅可以修改列名,也可以修改列的属性,可以和modify有一样的功能。
例如:将student表中id列名改成ids
alter table student
change id ids;
四、drop
这个引导的sql语句一般是删除数据表
语法:
drop table 表名;
例如:删除student表
drop table student;
五、truncate
该单词引导的语句功能是删除表中的所有数据,与delete语句不同,delete是删除一条数据。
语法:
truncate 表名;
例如:清空student表中所有的数据
truncate student;
到此结束!