参考资料

  1. 使用 MySQL 二进制方式连接
  2. MySQL ALTER 命令详细说明以及案例
  3. MySQL WHERE 子句详细说明以及案例
  4. MySQL 插入数据详细说明以及案例
  5. MySQL 处理重复数据详细说明以及案例
  6. MySQL 删除数据表
  7. MySQL 选择数据库详细说明以及案例
  8. MySQL 创建数据库

MySQL ALTER 命令详细说明以及案例

MySQL 的 ALTER 命令用于修改现有表的结构,例如添加、删除或修改列,更改表名,修改列的数据类型等。以下是常见的 ALTER 命令用法及案例:

1. 添加列

ALTER TABLE 表名 ADD 列名 数据类型;

案例

ALTER TABLE employees ADD email VARCHAR(100);

employees 表中添加一个名为 email 的列,数据类型为 VARCHAR(100)

2. 删除列

ALTER TABLE 表名 DROP COLUMN 列名;

案例

ALTER TABLE employees DROP COLUMN email;

删除 employees 表中的 email 列。

3. 修改列的数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型;

案例

ALTER TABLE employees MODIFY email VARCHAR(150);

employees 表中的 email 列的数据类型修改为 VARCHAR(150)

4. 重命名列

ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;

案例

ALTER TABLE employees CHANGE email employee_email VARCHAR(100);

employees 表中的 email 列重命名为 employee_email,并保持数据类型为 VARCHAR(100)

5. 添加主键

ALTER TABLE 表名 ADD PRIMARY KEY (列名);

案例

ALTER TABLE employees ADD PRIMARY KEY (employee_id);

employees 表中的 employee_id 列设置为主键。

6. 删除主键

ALTER TABLE 表名 DROP PRIMARY KEY;

案例

ALTER TABLE employees DROP PRIMARY KEY;

删除 employees 表的主键。

7. 添加外键

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (列名) REFERENCES 参考表名(参考列名);

案例

ALTER TABLE orders ADD CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(customer_id);

orders 表中添加一个外键 fk_customer,将 customer_id 列与 customers 表中的 customer_id 列关联。

8. 删除外键

ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

案例

ALTER TABLE orders DROP FOREIGN KEY fk_customer;

删除 orders 表中的外键 fk_customer

9. 修改表名

ALTER TABLE 旧表名 RENAME TO 新表名;

案例

ALTER TABLE employees RENAME TO staff;

employees 表重命名为 staff

10. 添加索引

ALTER TABLE 表名 ADD INDEX 索引名 (列名);

案例

ALTER TABLE employees ADD INDEX idx_email (email);

employees 表的 email 列上添加一个名为 idx_email 的索引。

11. 删除索引

ALTER TABLE 表名 DROP INDEX 索引名;

案例

ALTER TABLE employees DROP INDEX idx_email;

删除 employees 表中的 idx_email 索引。

12. 修改表的存储引擎

ALTER TABLE 表名 ENGINE = 存储引擎名;

案例

ALTER TABLE employees ENGINE = InnoDB;

employees 表的存储引擎修改为 InnoDB

13. 修改表的字符集

ALTER TABLE 表名 CONVERT TO CHARACTER SET 字符集名;

案例

ALTER TABLE employees CONVERT TO CHARACTER SET utf8mb4;

employees 表的字符集修改为 utf8mb4

14. 修改表的注释

ALTER TABLE 表名 COMMENT = '新注释';

案例

ALTER TABLE employees COMMENT = '员工信息表';

employees 表的注释修改为 员工信息表

15. 修改列的默认值

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

案例

ALTER TABLE employees ALTER email SET DEFAULT 'unknown@example.com';

employees 表中 email 列的默认值设置为 unknown@example.com

16. 删除列的