Mysql中修改表结构中关键字add,change,modify
2
5
1.测试用例(来源是牛客网中的sql题)
drop table if exists user_info; CREATE TABLE IF NOT EXISTS user_info ( id int PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID, uid int UNIQUE NOT NULL COMMENT 用户ID, `nick_name` varchar(64) COMMENT 昵称, achievement int COMMENT 成就值, level int COMMENT 用户等级, job varchar(10) COMMENT 职业方向, register_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT 注册时间 )CHARACTER SET utf8 COLLATE utf8_general_ci;
2.关键字 add
-
含义:当表建立后,需要添加字段的时候使用 请在用户信息表,字段level的后面增加一列最多可保存15个汉字的字段school; ADD COLUMN <列名> <类型> -- 增加列
ALTER TABLE user_info ADD school varchar(15) after level;
3.关键字 change
-
含义:更改列的名称及数据类型 并将表中job列名改为profession,同时varchar字段长度变为10 CHANGE COLUMN <旧列名> <新列名> <新列类型> -- 修改列名或类型
ALTER TABLE user_info change job profession varchar(10);
4.关键字 modify
-
含义:更改列的数据类型 achievement的默认值设置为0 MODIFY COLUMN <列名> <类型> -- 修改列类型
ALTER TABLE user_info modify achievement int(11) DEFAULT 0;
5.alter中其他关键字
-
ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT } -- 修改/删除 列的默认值 DROP COLUMN <列名> -- 删除列 RENAME TO <新表名> -- 修改表名 CHARACTER SET <字符集名> -- 修改字符集 COLLATE <校对规则名> } -- 修改校对规则(比较和排序时用到)