如何修改表结构_mysql alter table用法

ALTER TABLE 是修改 MySQL 表结构的核心语句,支持增删改字段、调索引/主键、更名及改引擎;需语法准确、评估数据影响,并提前备份。

如何修改表结构_mysql alter table用法

修改 MySQL 表结构主要通过 ALTER TABLE 语句实现,它支持添加、删除、修改字段,调整主键/索引,更改表名和存储引擎等操作。关键在于语法准确、注意数据影响,并在生产环境操作前务必备份。

添加字段(ADD COLUMN)

在表末尾或指定位置插入新列:

  • 基础写法:ALTER TABLE 表名 ADD COLUMN 字段名 数据类型 [约束];
  • 指定位置:ADD COLUMN 字段名 INT AFTER 已有字段名;FIRST 放最前
  • 示例:ALTER TABLE users ADD COLUMN phone VARCHAR(20) NOT NULL DEFAULT '';

修改字段定义(MODIFY / CHANGE)

MODIFY 仅改类型和约束,不改名;CHANGE 可同时改名和定义:

  • 改类型(不重命名):ALTER TABLE users MODIFY email VARCHAR(100) NOT NULL;
  • 改名+改类型:ALTER TABLE users CHANGE old_name new_name INT UNSIGNED;
  • 注意:CHANGE 必须写两次字段名,大小写敏感,且会重建字段

删除与重命名字段(DROP / RENAME COLUMN)

MySQL 8.0+ 支持标准 DROP COLUMNRENAME COLUMN

Frase

Frase

Frase是一款出色的长篇 AI 写作工具,快速创建seo优化的内容。

下载

  • 删除字段:ALTER TABLE users DROP COLUMN temp_flag;
  • 重命名字段:ALTER TABLE users RENAME COLUMN old_col TO new_col;
  • 旧版本(CHANGE 实现重命名(类型保持一致即可)

管理索引与主键

常用操作包括增删主键、唯一索引、普通索引:

  • 添加主键:ALTER TABLE users ADD PRIMARY KEY (id);(要求字段非空且无重复)
  • 删除主键:ALTER TABLE users DROP PRIMARY KEY;(若为自增字段,可能需先删 AUTO_INCREMENT)
  • 建索引:ALTER TABLE users ADD INDEX idx_name (name);
  • 删索引:ALTER TABLE users DROP INDEX idx_name;

操作前建议用 SHOW CREATE TABLE 表名; 查看当前结构,执行后可用 DESC 表名; 验证。大表修改可能锁表或耗时较长,线上环境优先考虑 pt-online-schema-change 等工具。

https://www.php.cn/faq/2005754.html

发表回复

Your email address will not be published. Required fields are marked *