赞
赏
我们已经了解了如果 建立一张表,但是如果想要对建立好的表进行修改,我们要怎么做呢?我们可以通过 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 类被添加上了,运行结果如下:
列重命名
-- 嗨客网(www.haicoder.net) ALTER TABLE db_index change column name stuname varchar(100) comment '学生姓名';
执行查询列语句,运行结果如下
可以看到,成功的将列
name
修改为了stuname
,并且对应的字段类型也被修改了,它之前的长度是 200,现在变成了 100。修改默认值
-- 嗨客网(www.haicoder.net) ALTER TABLE db_index ALTER COLUMN class_name SET DEFAULT '一年级一班';
执行列查询语句,执行结果如下
我们可以看到,
default
这一列,class_name
这一列有了值,这个就表示在插入数据的时候,如果不给 class_name 赋值,那么就会用一年级一班
填充。修改列类型
![]()