牛客SQL.2.9

187 阅读2分钟

「这是我参与11月更文挑战的第27天,活动详情查看:2021最后一次更文挑战

描述

现有一张用户信息表,其中包含多年来在平台注册过的用户信息,随着牛客平台的不断壮大,用户量飞速增长,为了高效地为高活跃用户提供服务,现需要将部分用户拆分出一张新表。

原来的用户信息表:

img

作为数据分析师,请创建一张优质用户信息表user_info_vip,表结构和用户信息表一致。

你应该返回的输出如下表格所示,请写出建表语句将表格中所有限制和说明记录到表里。

FieldTypeNullKeyDefaultExtraComment
idint(11)NOPRIauto_increment自增ID
uidint(11)NOUNI用户ID
nick_namevarchar(64)YES昵称
achievementint(11)YES0成就值
levelint(11)YES用户等级
jobvarchar(32)YES职业方向
register_timedatetimeYESCURRENT_TIMESTAMP注册时间

(如果该表已经被其他分析师创建过了,正常返回即可)

备注:后台会通过 SHOW FULL FIELDS FROM user_info_vip 语句,来对比输出结果

drop table if EXISTS user_info_vip;
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|用户等级
job|varchar(32)|utf8_general_ci|YES||None||select,insert,update,references|职业方向
register_time|datetime|None|YES||CURRENT_TIMESTAMP|DEFAULT_GENERATED|select,insert,update,references|注册时间

方法一

根据题意,按照所给的信息,新建一张表;建表语句如下:

CREATE TABLE table_name (
    字段名, 字段类型, [是否能为空, 默认值, 索引, 提示]
)

另外需要注意的一点是,题中还说,如果该表已经被其他分析师创建过了,正常返回即可,也就是在建表之前我们需要判断一下这张表是否存在;具体的建表sql语句如下:

CREATE TABLE IF NOT EXISTS user_info_vip(
    id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
    uid int(11) NOT NULL UNIQUE KEY COMMENT '用户ID',
    nick_name varchar(64) COMMENT '昵称',
    achievement int(11) DEFAULT 0 COMMENT '成就值',
    level int(11) COMMENT '用户等级',
    job varchar(32) COMMENT '职业方向',
    register_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间'
)DEFAULT CHARSET=utf8;