Mysql中修改表结构中关键字add,change,modify

目录

1.测试用例(来源是牛客网中的sql题)

2.关键字 add

3.关键字 change

4.关键字 modify

5.alter中其他关键字


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 <校对规则名> } -- 修改校对规则(比较和排序时用到)

 

你可能感兴趣的:(sql,mysql,数据库,sql)