描述
现有一张用户信息表,其中包含多年来在平台注册过的用户信息,随着牛客平台的不断壮大,用户量飞速增长,为了高效地为高活跃用户提供服务,现需要将部分用户拆分出一张新表。
原来的用户信息表:
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 | 注册时间 |
作为数据分析师,请创建一张优质用户信息表user_info_vip,表结构和用户信息表一致。
你应该返回的输出如下表格所示,请写出建表语句将表格中所有限制和说明记录到表里。
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 | 用户等级 | |||
job | varchar(32) | YES | 职业方向 | |||
register_time | datetime | YES | CURRENT_TIMESTAMP | 注册时间 |
备注:
1.后台会通过 SHOW FULL FIELDS FROM user_info_vip 语句,来对比输出结果
2.如果该表已经被其他分析师创建过了,正常返回即可
CREATE TABLE IF NOT EXISTS
user_info_vip (
id int(11) PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
uid int(11) UNIQUE NOT NULL 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 '注册时间'
) CHARACTER SET utf8 COLLATE utf8_general_ci;
1. 常用数据类型速查表
数据类型 | 说明 | 示例 | 注意事项 |
---|---|---|---|
INT | 整数类型 | 1, 100, -5 | (11) 是显示宽度,不影响范围 |
VARCHAR(n) | 可变长度字符串 | "小明", "Hello" | n 是最大字符数,如 VARCHAR(64) |
DATETIME | 日期时间 | 2025-08-05 13:30:25 | 格式:YYYY-MM-DD HH:MM:SS |
TEXT | 长文本 | 文章内容 | 适合存储大段文字 |
DECIMAL(m,n) | 精确小数 | 3.14, 100.50 | m=总位数,n=小数位数 |
BOOLEAN | 布尔值 | TRUE/FALSE 或 1/0 | 实际存储为 TINYINT(1) |
2. 约束和属性详解
约束/属性 | 作用 | 示例 | 说明 |
---|---|---|---|
PRIMARY KEY | 主键 | id INT PRIMARY KEY | 唯一标识每条记录,不能为空 |
AUTO_INCREMENT | 自动增长 | AUTO_INCREMENT | 通常配合主键使用,自动+1 |
UNIQUE | 唯一性 | email VARCHAR(50) UNIQUE | 值必须唯一,但可以为空 |
NOT NULL | 非空 | name VARCHAR(20) NOT NULL | 该字段必须填写 |
DEFAULT | 默认值 | status INT DEFAULT 1 | 不填时使用默认值 |
FOREIGN KEY | 外键 | user_id INT, FOREIGN KEY(user_id) REFERENCES users(id) | 关联其他表的主键 |