嗨客网搜索
数据库教程
mysql 修改表

Mysql修改表教程

我们已经了解了如果 建立一张表,但是如果想要对建立好的表进行修改,我们要怎么做呢?我们可以通过 ALTER 关键字对建立好的表进行修改,进行增加列或者删除列,也可以修改列字段类型。

本章节我们以下面的表作为讲解

CREATE TABLE `db_index` ( `id` int(11) DEFAULT NULL, `name` varchar(200) DEFAULT NULL, `stu_no` varchar(200) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Mysql修改表详解

语法

ALTER TABLE [TABLENAME] { ADD COLUMN <列名> <类型> | CHANGE COLUMN <旧列名> <新列名> <新列类型> | ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT } | MODIFY COLUMN <列名> <类型> | DROP COLUMN <列名> | RENAME TO <新表名> }

描述

关键字 描述
ALTER TABLE [TABLENAME] 固定不变的开场,表示要修改一个表结构
ADD COLUMN <列名> <类型> [comment ‘备注信息’] 给表添加一列,comment 后面跟着的是该类的备注信息,它可有可无。
CHANGE COLUMN <旧列名> <新列名> <新列类型> 给列重新命名或者修改类的类型
ALTER COLUMN <列名> { SET DEFAULT <默认值> |DROP DEFAULT } 修改列的默认值
MODIFY COLUMN <列名> <类型> 修改列类型
DROP COLUMN <列名> 删除列
RENAME TO <新表名> 给表重命名

在上面的操作中,ALTER TABLE [TABLENAME] 对表进行修改时,这个语句是必须的,都是以这个语句开头,后面的具体执行功能语句需要跟在该语句后面。

案例

添加列

-- 嗨客网(www.haicoder.net) ALTER TABLE db_index ADD column class_name varchar(20) comment '班级名称';

我们执行 show fields from db_index 可以看到 class_name 类被添加上了,运行结果如下:

14_添加列展示.png

列重命名

-- 嗨客网(www.haicoder.net) ALTER TABLE db_index change column name stuname varchar(100) comment '学生姓名';

执行查询列语句,运行结果如下

15_修改表列名.png

可以看到,成功的将列 name 修改为了 stuname,并且对应的字段类型也被修改了,它之前的长度是 200,现在变成了 100。

修改默认值

-- 嗨客网(www.haicoder.net) ALTER TABLE db_index ALTER COLUMN class_name SET DEFAULT '一年级一班';

执行列查询语句,执行结果如下

16_修改默认值.png

我们可以看到,default 这一列,class_name 这一列有了值,这个就表示在插入数据的时候,如果不给 class_name 赋值,那么就会用 一年级一班 填充。

修改列类型

-- 嗨客网(www.haicoder.net) ALTER TABLE db_index MODIFY COLUMN stu_no int(11);

执行查询列语句,执行结果如下:

17_修改类类型.png

我们可以看到 stu_no 从 varchar 类型,转换成了 int 类型。

删除列

-- 嗨客网(www.haicoder.net) ALTER TABLE db_index DROP COLUMN class_name;

执行查询列语句,执行结果如下:

18_删除列.png

我们可以看到 class_name 不存在了。

表重命名

-- 嗨客网(www.haicoder.net) ALTER TABLE db_index RENAME TO tb_index;

我们执行 show tables 语句,来查看当前库下面的所有表:

19_重命名表.png

表名从 db_index 变为了 tb_index。

Mysql修改表总结

在 Mysql 中,修改表我们可以使用 ALTER TABLE 语句,添加列使用 ADD COLUMN 语法,重命名使用 change column 语法,修改列类型使用 MODIFY COLUMN 语法,删除列使用 DROP COLUMN 语法。

嗨客网顶部