MySQL ALTER TABLE修改表结构
 (图片来源网络,侵删)
(图片来源网络,侵删)MySQL提供了ALTER TABLE语句来修改数据库表的结构,通过使用ALTER TABLE,您可以添加、删除或修改表中的列,更改数据类型,添加和删除约束等,以下是一些常见的ALTER TABLE操作示例:
1. 添加列
要向现有表中添加新列,可以使用以下语法:
ALTER TABLE table_name ADD column_name datatype;
要在名为students的表中添加一个名为email的新列,其数据类型为VARCHAR(255),可以执行以下命令:
ALTER TABLE students ADD email VARCHAR(255);
2. 删除列
要从表中删除列,可以使用以下语法:
ALTER TABLE table_name DROP COLUMN column_name;
要从名为students的表中删除名为email的列,可以执行以下命令:
 (图片来源网络,侵删)
(图片来源网络,侵删)ALTER TABLE students DROP COLUMN email;
3. 修改列的数据类型
要更改表中列的数据类型,可以使用以下语法:
ALTER TABLE table_name MODIFY column_name new_datatype;
要将名为students的表中名为age的列的数据类型从INT更改为FLOAT,可以执行以下命令:
ALTER TABLE students MODIFY age FLOAT;
4. 重命名列
要重命名表中的列,可以使用以下语法:
ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;
要将名为students的表中名为first_name的列重命名为full_name,并保持其数据类型不变(假设是VARCHAR(50)),可以执行以下命令:
ALTER TABLE students CHANGE first_name full_name VARCHAR(50);
5. 添加主键约束
 (图片来源网络,侵删)
(图片来源网络,侵删)要为主键添加约束,可以使用以下语法:
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
要将名为students的表中名为student_id的列设置为主键,可以执行以下命令:
ALTER TABLE students ADD PRIMARY KEY (student_id);
6. 删除主键约束
要删除主键约束,可以使用以下语法:
ALTER TABLE table_name DROP PRIMARY KEY;
要从名为students的表中删除主键约束,可以执行以下命令:
ALTER TABLE students DROP PRIMARY KEY;
7. 添加外键约束
要添加外键约束,可以使用以下语法:
ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES referenced_table(referenced_column);
要在名为orders的表中添加一个外键约束,该约束将customer_id列与名为customers的表中的id列相关联,可以执行以下命令:
ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customers(id);
8. 删除外键约束
要删除外键约束,可以使用以下语法:
ALTER TABLE table_name DROP FOREIGN KEY fk_constraint_name;
要从名为orders的表中删除名为fk_customer_id的外键约束,可以执行以下命令:
ALTER TABLE orders DROP FOREIGN KEY fk_customer_id;
FAQs:
Q1: 如何查看表的结构?
A1: 您可以使用DESCRIBE或SHOW COLUMNS命令来查看表的结构,要查看名为students的表的结构,可以执行以下命令:
DESCRIBE students;
或者:
SHOW COLUMNS FROM students;