DDL之操作表
DDL之操作表
DDL是数据定义语言,用来定义数据库对象:数据库、表、列等。其中定义数据库我们已经在DDL之操作数据库中详细讲解了,今天我们来学习使用DDL操作表。
1.创建表
使用数据定义语言创建表,其格式为:
CREATE TABLE [IF NOT EXISTS] 表名(
列名 列类型,
列名 列类型,
...
列名 列类型
);
其中,表名后面的内容需要使用“()”括起来,里面的内容是表结构,由列名和列类型组成,列名与列类型之间用空格隔开,每一列之间用逗号隔开,最后一列后面不需要加逗号,语句结束后需要加“;”。
下面我们在dos窗口下使用以上语句创建一个表,如图1-1所示:
图1-1 创建表
图1-1中,表tb_stu的字段有number,name,age,gender,其中number的类型是char(11),因为今后添加的数据的number值要与“itcast_0001“格式一致,因此使用固定长度的字符串类型;而name的值的长度不确定,因此使用可变长度的字符串类型;age代表年龄,类型是int类型,gender代表的是性别,这里允许它的值是“男”、“女”、“male”、“female”,所以类型是可变长度的字符串。
图1-1中,创建表的语句比较长,这样不方便阅读,因此建议大家这样写,如图1-2所示:
图1-2 创建表
在图1-2中,语句的结束是由“;”来结束的,这样写阅读性比较好。
2.查看当前数据库中的所有表
查看当前数据库中的所有表的语句是:show tables,这个与查看所有数据库很像。下面我们来查看user数据库中的所有表,如图1-3所示:
图1-3 查看user中的所有表
图1-3中,user数据库中一共有四个表。
3. 查看指定表的创建语句
查看指定表的创建语句:show create table 表名,这个语句大家只需要了解即可,其用法如图1-4所示:
图1-4 查看指定表的创建语句
4.查看表的结构
所谓表的结构就是表的列的相关信息,查看表的结构的语句:desc 表名,下面我们来查看user数据库中的tb_stu表结构,如图1-5所示:
图1-5 查看tb_stu的表结构
5.删除表
删除表的语句与删除数据库的语句类似:drop table 表名;为了防止删除一个不存在的表而报错,使用:drop table if exists 表名,如果不存在就不删除,如果存在就删除,如图1-6所示:
图1-6 删除一个不存在表
图1-6中,删除的表是table1,但是user数据库中并没有这个表。删除一个存在的表,例如tb_stu1,然后再查看user数据库的所有表,如图1-7所示:
图1-7 删除一个存在的表
6.修改表
修改表的语句为:ALTER TABLE 表名 … …,修改表包括以下几种情况:
l 添加列:
ALTER TABLE 表名 ADD (
列名 列类型,
列名 列类型,
...
);
l 修改列类型:ALTER TABLE 表名 MODIFY 列名 列的新类型,如果被修改的列中已存在数据,那么列的新类型会影响已存在的数据;
l 修改列名称:ALTER TABLE 表名 CHANGE 原列名 新列名 列类型;
l 删除列:ALTER TABLE 表名 DROP 列名;
l 修改表名:ALTER TABLE 表名 RENAME TO新表名。
(1)下面我们逐个练习以上修改语句,首先在表tb_stu中添加新的列,如图1-8所示:
图1-8 修改表之添加列
(2)修改表tb_stu的education列的类型,如图1-9所示:
图1-9 修改列类型
(3)修改表tb_stu的education列名为edu,如图1-10所示:
图1-10 修改列名称
图1-10中,修改education列的名称修改的同时也可以将列类型修改了。例如:alter table tb_stu change education edu varchar(50)。
(4)删除表tb_stu的education列,如图1-11所示:
图1-11 删除表中的列
(5)修改表的名称,将表名称tb_stu修改为student,如图1-12所示:
图1-12 修改表的名字