MySQL常用数据表操作SQL语句速查:创建、查看、修改与删除

白榆
白榆
发布时间:2026-10-13 | 6人浏览过
原创

本文将系统梳理 MySQL 数据库中的 DDL(数据定义语言)核心用法。内容覆盖数据表的创建与完整性约束配置、结构查看技巧、字段增删改及重命名方法,并重点讲解在涉及外键关联时如何安全地删除父表与子表,提供可直接复制使用的 SQL 代码模板。

1. 数据表的创建

使用 CREATE TABLE 语句创建新表。在创建前,建议先通过 USE database_name; 指定目标数据库。表名应避开 SQL 关键字(如 create, update 等),且区分大小写(通常推荐全小写或驼峰命名)。

基础语法:

CREATE TABLE 表名 (
  属性名 数据类型 [完整性约束条件],
  属性名 数据类型 [完整性约束条件]
);

示例:

CREATE TABLE example (
  id INT,
  name VARCHAR(20),
  sex BOOLEAN
);

关键约束条件说明

  • PRIMARY KEY:主键,唯一标识一行记录。
  • FOREIGN KEY:外键,建立与其他表主键的联系。
  • NOT NULL:字段值不能为空。
  • UNIQUE:字段值必须唯一。
  • AUTO_INCREMENT:自增,常用于主键。
  • DEFAULT:设置默认值。

2. 查看表结构与详细信息

在修改表之前,了解其现有结构非常重要。以下两种命令分别用于获取概览和详细元数据。

第1步:查看基本结构

使用 DESCRIBE(可简写为 DESC)显示字段名、类型、是否允许空、键类型、默认值和额外信息。

DESCRIBE 表名;
-- 或
DESC 表名;

第2步:查看详细定义与存储引擎

使用 SHOW CREATE TABLE 可查看完整的建表语句,包括字符集、存储引擎及所有约束详情。末尾添加 \G 可使输出转为纵向排版,更易阅读。

SHOW CREATE TABLE 表名;
-- 或使用 G 格式化输出
SHOW CREATE TABLE 表名 \G;

3. 修改表结构与字段

所有对表结构(列名、类型、位置)的修改均通过 ALTER TABLE 语句执行。

第3步:重命名数据表

ALTER TABLE 旧表名 RENAME [TO] 新表名;

第4步:修改字段的数据类型

使用 MODIFY 仅改变属性类型,不改变名称。

ALTER TABLE 表名 MODIFY 属性名 新数据类型;

第5步:修改字段名称及类型

使用 CHANGE 可同时重命名字段并修改类型。若省略新数据类型,则保持原类型不变。

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 [新数据类型];

第6步:增加字段

使用 ADD 添加新列。可通过 FIRST 将其设为首位,或通过 AFTER 属性名 指定插入位置,默认追加至末尾。

ALTER TABLE 表名 ADD 属性名 数据类型 [约束] [FIRST | AFTER 已有字段名];

第7步:删除字段

ALTER TABLE 表名 DROP 属性名;

4. 安全删除数据表

删除表操作不可逆,执行前务必备份重要数据。根据表之间是否存在外键依赖关系,操作流程有所不同。

风险提示:直接删除被其他表引用的“父表”会报错;若直接删除子表可能会丢失关联数据。

第8步:处理无关联的子表

如果该表没有外键依赖,或被依赖的父表已被删除,可直接删除:

DROP TABLE 表名;

第9步:处理有关联关系的父表

若要删除一个作为“父表”存在的表(即有其他表的外键指向它),需按以下步骤操作以确保数据安全:

  1. 解除外键约束:找到子表中引用该父表的外键别名(可通过步骤2中的 SHOW CREATE TABLE 子表 \G 查看),并移除约束。
ALTER TABLE 子表名 DROP FOREIGN KEY 外键别名;

注:也可以直接删除子表以解除依赖,但此举会导致子表数据彻底消失,请谨慎选择。

  1. 删除父表:确认约束解除后,再次尝试删除父表。
DROP TABLE 父表名;

执行成功后,即完成清理。建议在删除前后多次使用 SHOW CREATE TABLE 验证状态。

以上就是 MySQL 中常用数据表操作语句的详细内容,更多关于 MySQL 进阶管理与 DDL 维护的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表