描述
现有一张用户信息表user_info,其中包含多年来在平台注册过的用户信息。
用户信息表user_info:
Filed | Type | Null | Key | Default | Extra | Comment |
id | int(11) | NO | PRI | (NULL) | auto_increment | 自增ID |
uid | int(11) | NO | UNI | (NULL) | 用户ID | |
nick_name | varchar(64) | YES | (NULL) | 昵称 | ||
achievement | int(11) | YES | 0 | 成就值 | ||
level | int(11) | YES | (NULL) | 用户等级 | ||
job | varchar(32) | YES | (NULL) | 职业方向 | ||
register_time | datetime | YES | CURRENT_TIMESTAMP | 注册时间 |
请在用户信息表,字段level的后面增加一列最多可保存15个汉字的字段school;并将表中job列名改为profession,同时varchar字段长度变为10;achievement的默认值设置为0。
输出结果示例:
Filed | Type | Null | Key | Default | Extra | Comment |
id | int(11) | NO | PRI | auto_increment | 自增ID | |
uid | int(11) | NO | UNI | 用户ID | ||
nick_name | varchar(64) | YES | 昵称 | |||
achievement | int(11) | YES | 0 | |||
level | int(11) | YES | 用户等级 | |||
school | varchar(15) | |||||
profession | varchar(10) | YES | ||||
register_time | datetime | YES | CURRENT_TIMESTAMP | 注册时间 |
备注:建表时限制的字符集为utf8,MySQL版本为8.*
后台会通过SHOW FULL FIELDS FROM user_info 来对比输出结果。
ALTER TABLE user_info ADD school varchar(15) AFTER `level`;
ALTER TABLE user_info CHANGE job profession varchar(10);
ALTER TABLE user_info CHANGE COLUMN achievement achievement int DEFAULT 0;
常用ALTER TABLE操作速查
操作 | 语法 | 示例 |
---|---|---|
添加字段 | ADD 字段名 类型 [位置] |
ADD age INT AFTER name |
删除字段 | DROP 字段名 |
DROP COLUMN phone |
修改字段名 | CHANGE 旧名 新名 类型 |
CHANGE job profession VARCHAR(10) |
修改字段类型 | MODIFY 字段名 新类型 |
MODIFY name VARCHAR(100) |
修改默认值 | ALTER 字段名 SET DEFAULT 值 |
ALTER status SET DEFAULT 1 |