如何使用SQL的ALTER TABLE语句来修改数据库表结构?
时间: 2024-10-27 16:13:57 浏览: 23
使用SQL的ALTER TABLE语句可以对已有的数据库表进行各种结构修改,如添加、删除或修改列,改变索引,甚至合并或分割表等。以下是ALTER TABLE的一些常见操作:
1. 添加列:
```sql
ALTER TABLE table_name ADD column_name data_type;
```
2. 删除列:
```sql
ALTER TABLE table_name DROP COLUMN column_name;
```
3. 修改列名或数据类型:
```sql
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
ALTER TABLE table_name MODIFY column_name new_data_type;
```
4. 添加约束(如唯一性、外键等):
```sql
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column_name);
ALTER TABLE table_name ADD FOREIGN KEY (child_column) REFERENCES parent_table(parent_column);
```
5. 更改表的大小(仅适用于存储引擎支持动态调整大小,如MyISAM变更为InnoDB):
```sql
ALTER TABLE table_name ENGINE=engine_name autoextend ON;
```
6. 分割或合并表:
```sql
-- 分割
ALTER TABLE table_name PARTITION BY RANGE (column_name) (
PARTITION p0 VALUES LESS THAN (value),
PARTITION p1 VALUES LESS THAN MAXVALUE
);
-- 合并
ALTER TABLE table_name RENAME PARTITION p1 TO p0;
```
记得在执行ALTER TABLE语句前备份数据,以防意外更改影响到数据完整性。
阅读全文