SQL119. 修改表
描述
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 | | 注册时间 |
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 | | 注册时间 |
示例1
输入:
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;
输出:
id|int|None|NO|PRI|None|auto_increment|select,insert,update,references|自增ID uid|int|None|NO|UNI|None||select,insert,update,references|用户ID nick_name|varchar(64)|utf8_general_ci|YES||None||select,insert,update,references|昵称 achievement|int|None|YES||0||select,insert,update,references| level|int|None|YES||None||select,insert,update,references|用户等级 school|varchar(15)|utf8_general_ci|YES||None||select,insert,update,references| profession|varchar(10)|utf8_general_ci|YES||None||select,insert,update,references| register_time|datetime|None|YES||CURRENT_TIMESTAMP|DEFAULT_GENERATED|select,insert,update,references|注册时间
Mysql 解法, 执行用时: 35ms, 内存消耗: 6244KB, 提交时间: 2021-12-08
ALTER TABLE user_info ADD school varchar(15) after level; ALTER TABLE user_info CHANGE job profession varchar(10); ALTER TABLE user_info modify achievement int(11) DEFAULT 0;
Mysql 解法, 执行用时: 35ms, 内存消耗: 6288KB, 提交时间: 2022-01-22
alter table user_info add school varchar(15) after level; alter table user_info change job profession varchar(10); alter table user_info modify achievement int default 0;
Mysql 解法, 执行用时: 35ms, 内存消耗: 6336KB, 提交时间: 2022-01-24
# 请在用户信息表,字段level的后面增加一列最多可保存15个汉字的字段school; # 并将表中job列名改为profession,同时varchar字段长度变为10; # achievement的默认值设置为0。 alter table user_info add school varchar(15) after level; alter table user_info change job profession varchar(10); alter table user_info modify achievement int(11) default 0;
Mysql 解法, 执行用时: 35ms, 内存消耗: 6404KB, 提交时间: 2022-01-03
alter table user_info add column school varchar(15) after level; alter table user_info change job profession varchar(10); alter table user_info modify achievement int(11) default 0;
Mysql 解法, 执行用时: 35ms, 内存消耗: 6472KB, 提交时间: 2022-01-25
alter table user_info add school varchar(15) after level , change job profession varchar(10), modify achievement int (11) default 0;