插件窝 干货文章 MySQL数据表字段操作指南之添加、修改与删除方法

MySQL数据表字段操作指南之添加、修改与删除方法

字段 ALTER 列名 TABLE 553    来源:    2025-03-29

MySQL 数据表字段操作指南

添加字段

基本语法

ALTER TABLE 表名 ADD 列名 数据类型 [约束条件] [FIRST|AFTER 已存在列名];

示例

  1. 在表末尾添加字段
ALTER TABLE users ADD age INT NOT NULL;
  1. 在表开头添加字段
ALTER TABLE users ADD id INT PRIMARY KEY FIRST;
  1. 在指定字段后添加字段
ALTER TABLE users ADD email VARCHAR(100) AFTER username;
  1. 添加多个字段
ALTER TABLE users 
ADD phone VARCHAR(20),
ADD address VARCHAR(200);

修改字段

修改字段名和类型

ALTER TABLE 表名 CHANGE 原列名 新列名 新数据类型 [约束条件];

示例:

ALTER TABLE users CHANGE username user_name VARCHAR(50) NOT NULL;

只修改字段类型

ALTER TABLE 表名 MODIFY 列名 新数据类型 [约束条件];

示例:

ALTER TABLE users MODIFY email VARCHAR(150);

修改字段默认值

ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值;

示例:

ALTER TABLE users ALTER age SET DEFAULT 18;

删除字段默认值

ALTER TABLE 表名 ALTER 列名 DROP DEFAULT;

删除字段

基本语法

ALTER TABLE 表名 DROP 列名;

示例

ALTER TABLE users DROP address;

删除多个字段

ALTER TABLE users 
DROP phone,
DROP age;

注意事项

  1. 修改字段类型可能会导致数据丢失,特别是从大类型改为小类型时
  2. 添加NOT NULL约束前,确保该列没有NULL值
  3. 删除字段是不可逆操作,会永久删除该列及其数据
  4. 在生产环境执行这些操作前,建议先备份数据
  5. 对大表执行ALTER操作可能会锁表,影响性能,考虑在低峰期执行

高级操作

使用FIRST/AFTER调整字段顺序

ALTER TABLE users MODIFY email VARCHAR(150) AFTER user_name;

添加自增主键

ALTER TABLE users 
ADD id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (id);

添加外键约束

ALTER TABLE orders 
ADD CONSTRAINT fk_user_id 
FOREIGN KEY (user_id) REFERENCES users(id);

这些操作可以帮助您灵活地管理MySQL数据表结构,满足业务需求的变化。