前言
数据表是 MySQL 数据存储的核心载体,其操作是开发和运维中的高频任务。从表的创建、结构设计,到日常的字段增删改、表名修改,再到最后的表删除,每一步都有对应的语法和实操细节。
本文基于 MySQL 实战场景,讲解表的全套操作,涵盖创建表的核心语法、存储引擎的差异,到修改表的各种场景,再到删除表的高危操作注意事项。
一、创建表:打好基础,定好结构
创建数据表是表操作的第一步,也是最关键的一步。表的结构设计直接决定了后续数据存储的效率和扩展性。MySQL 中创建表的语法支持自定义字段、字段类型、字符集、校验规则和存储引擎。
1. 核心创建语法
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
语法关键说明
- field:表示数据表的列名,是数据存储的最小单元,命名建议符合业务语义(如
id、name)。 - datatype:表示字段的数据类型(如
int、varchar、date),是表设计的核心。 - character set:指定表的字符集,不指定则继承所在数据库的字符集。
- collate:指定表的校验规则,不指定则继承所在数据库的校验规则。
- engine:指定表的存储引擎,不同存储引擎的文件存储、性能、功能差异巨大。
2. 实战创建案例
实际开发中,我们会给字段加注释(comment)方便后续维护,同时指定常用的存储引擎。
-- 创建用户表,指定字符集 utf8,存储引擎 MyISAM
create table users (
id int, -- 主键 id,整型
name varchar(20) comment '用户名',
password char(32) comment '密码是 32 位的 md5 值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
3. 关键知识点:存储引擎的文件差异
MySQL 的存储引擎是表级别的配置。不同的存储引擎,创建表后生成的物理文件完全不同。
(1)MyISAM 存储引擎
在 MySQL 的数据存储目录中,会生成 3 个独立文件,文件名均为表名,后缀不同:
users.frm:存储表的结构信息。users.MYD:存储表的实际数据。users.MYI:存储表的索引信息。
MyISAM 的特点是将结构、数据、索引分离存储,读取速度快,适合查询为主的场景。


