MySQL中的ALTER TABLE语句用于修改现有表的结构。当你需要添加、删除或修改表的列、索引、约束等时,可以使用这个语句。然而,ALTER TABLE操作通常会锁定表,这意味着在执行该操作期间,其他客户端无法对该表进行读写操作。
ALTER TABLE table_name ADD column_name datatype;ALTER TABLE table_name DROP COLUMN column_name;ALTER TABLE table_name MODIFY COLUMN column_name datatype;ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;ALTER TABLE table_name ADD INDEX index_name (column_name);ALTER TABLE table_name DROP INDEX index_name;当你的数据库模式需要更新以适应新的业务需求时,例如:
在MySQL中,你不能直接在一个ALTER TABLE语句中同时修改两个表。你需要分别对每个表执行ALTER TABLE语句。同时执行多个ALTER TABLE操作可能会导致长时间的锁定,影响数据库性能。
ALTER TABLE操作,等待完成后,再对另一个表执行相同的操作。ALTER TABLE操作时,表仍然可以进行读写操作。但请注意,并非所有的ALTER TABLE操作都支持在线DDL。假设我们有两个表table1和table2,我们需要为它们添加一个新的列new_column:
-- 对table1执行ALTER TABLE操作
ALTER TABLE table1 ADD COLUMN new_column datatype;
-- 对table2执行ALTER TABLE操作
ALTER TABLE table2 ADD COLUMN new_column datatype;