MySQL 修改表结构可以通过多种语句实现,主要包括 ALTER TABLE 语句。以下是一些常见的操作及其应用场景:
当你需要在表中添加新的列时,可以使用 ADD COLUMN 子句。
ALTER TABLE table_name ADD COLUMN column_name datatype;应用场景:例如,你有一个用户表 users,现在需要添加一个 email 列。
ALTER TABLE users ADD COLUMN email VARCHAR(255);如果你需要修改已有列的数据类型或者列名,可以使用 MODIFY COLUMN 或 CHANGE COLUMN 子句。
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name datatype;应用场景:假设你想将 users 表中的 age 列的数据类型从 INT 改为 TINYINT。
ALTER TABLE users MODIFY COLUMN age TINYINT;或者你想将 age 列改名为 user_age。
ALTER TABLE users CHANGE COLUMN age user_age TINYINT;如果你需要删除表中的某一列,可以使用 DROP COLUMN 子句。
ALTER TABLE table_name DROP COLUMN column_name;应用场景:假设你想删除 users 表中的 address 列。
ALTER TABLE users DROP COLUMN address;你可以使用 ADD CONSTRAINT 子句来添加各种约束,如主键、唯一约束、外键等。
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column_name);
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column_name);
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES other_table(other_column);应用场景:假设你想在 users 表中添加一个主键约束。
ALTER TABLE users ADD CONSTRAINT pk_users PRIMARY KEY (id);如果你需要修改表名,可以使用 RENAME TABLE 语句。
ALTER TABLE old_table_name RENAME TO new_table_name;应用场景:假设你想将 users 表改名为 user_profiles。
ALTER TABLE users RENAME TO user_profiles;通过以上方法,你可以根据具体需求灵活地修改 MySQL 表结构。