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. 删除列的
本篇文章内容来源于:MySQL ALTER 命令详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。