MySQL数据表是数据库中存储结构化数据的核心载体,所有的业务数据最终都会落地到对应的数据表中,掌握数据表的创建、修改、删除操作是使用MySQL的基础能力。

创建MySQL数据表
创建数据表需要使用CREATE TABLE语句,在创建时需要指定表名、字段名、字段类型以及对应的约束条件。常见的字段类型包括整数类型的INT、字符串类型的VARCHAR、日期类型的DATE等,约束条件包括主键约束PRIMARY KEY、非空约束NOT NULL、自增约束AUTO_INCREMENT等。
下面是一个创建用户表的示例代码:
-- 创建用户表,表名为user_info
CREATE TABLE user_info (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID,主键自增',
username VARCHAR(50) NOT NULL COMMENT '用户名称,非空',
age INT DEFAULT 0 COMMENT '用户年龄,默认值为0',
create_time DATE COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
创建数据表的注意事项
- 表名和字段名尽量使用有意义的英文命名,避免使用中文或者特殊字符
- 根据业务场景选择合适的字段类型,比如存储手机号可以使用
VARCHAR(11)而不是INT,避免数字开头的0被截断 - 合理设置字符集,一般推荐使用
utf8mb4字符集,支持存储emoji等特殊字符
修改MySQL数据表
当业务需求发生变化时,可能需要对已有的数据表结构进行调整,比如新增字段、修改字段类型、删除字段、修改表名等,这些操作都可以通过ALTER TABLE语句实现。
常见修改操作示例
1. 新增字段,给user_info表新增邮箱字段:
-- 新增email字段,类型为VARCHAR(100),默认值为空 ALTER TABLE user_info ADD COLUMN email VARCHAR(100) DEFAULT '' COMMENT '用户邮箱';
2. 修改字段类型,把age字段的类型从INT改为SMALLINT:
-- 修改age字段的类型为SMALLINT,保留原有的默认值和非空约束 ALTER TABLE user_info MODIFY COLUMN age SMALLINT DEFAULT 0 COMMENT '用户年龄,默认值为0';
3. 删除字段,删除user_info表的email字段:
-- 删除email字段 ALTER TABLE user_info DROP COLUMN email;
4. 修改表名,把user_info表改名为sys_user:
-- 修改表名为sys_user ALTER TABLE user_info RENAME TO sys_user;
删除MySQL数据表
如果数据表不再使用,可以通过DROP TABLE语句删除,删除操作会同时删除表结构和表中的所有数据,且操作不可回滚,执行前需要确认数据已经备份或者不再需要。
删除数据表的示例代码:
-- 删除sys_user表,如果存在才执行删除 DROP TABLE IF EXISTS sys_user;
删除操作的注意点
- 执行删除操作前一定要确认数据是否需要保留,避免误删重要数据
- 加上
IF EXISTS关键字可以避免表不存在时报错,让语句执行更稳妥 - 删除操作会释放表占用的存储空间,但是如果是大表删除可能会消耗较多数据库资源,建议在业务低峰期执行
查看数据表结构
如果需要确认数据表的结构是否符合预期,可以使用DESC或者SHOW CREATE TABLE语句查看。
查看user_info表结构的示例:
-- 查看表的基本结构信息 DESC user_info; -- 查看表的完整创建语句,包括字符集、存储引擎等信息 SHOW CREATE TABLE user_info;
MySQL数据表create_tablealter_tabledrop_table修改时间:2026-07-06 08:57:19