alter命令有添加列、删除列、修改列名、修改列数据类型、设置默认值、移除默认值、添加主键、删除主键、添加索引、删除索引、添加唯一约束、删除唯一约束、添加外键约束、删除
alter命令有添加列、删除列、修改列名、修改列数据类型、设置默认值、移除默认值、添加主键、删除主键、添加索引、删除索引、添加唯一约束、删除唯一约束、添加外键约束、删除外键约束、修改表的名称等等。详细介绍:1、添加列:ALTER TABLE table_name ADD column_name data_type;;2、删除列等等。
MySQL中的ALTER命令用于修改现有数据库表的结构。以下是ALTER命令的一些常见用法和示例:
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 CHANGE old_column_name new_column_name data_type;
4、修改列数据类型:
sql
ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;
5、设置默认值:
sql
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT 'default_value';
6、移除默认值:
sql
ALTER TABLE table_name ALTER COLUMN column_name DROP DEFAULT;
7、添加主键:
sql
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
8、删除主键:
sql
ALTER TABLE table_name DROP PRIMARY KEY;
9、添加索引:
sql
ALTER TABLE table_name ADD INDEX index_name (column_name);
10、删除索引:
sql
ALTER TABLE table_name DROP INDEX index_name;
11、添加唯一约束:
sql
ALTER TABLE table_name ADD UNIQUE (column_name);
12、删除唯一约束:
sql
ALTER TABLE table_name DROP INDEX column_name;
-- 删除对应的索引,但要注意,不是所有的唯一约束都会生成一个索引,因此需要确定你真正需要删除的唯一约束对应的索引名。
13、添加外键约束:
例如,为orders表添加一个外键约束到customer表:
sql
ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customer(id);
14、删除外键约束: (注意:MySQL不直接提供删除外键约束的命令,但你可以通过删除外键的列来间接实现):
例如,删除orders表中的customer_id列:
sql
ALTER TABLE orders DROP COLUMN customer_id;
-- 注意,这将删除整个列,不仅仅是外键约束。确保这是你想要的。如果你只是想删除外键约束,但保留列,你需要找到创建该外键约束的原始SQL语句并手动删除它。这通常在数据库的元数据或日志中找到。
15、修改表的名称: (注意:MySQL不直接提供重命名表的命令,但你可以通过复制表并删除旧表来间接实现):
首先,复制表结构和数据到一个新表:
sql
CREATE TABLE new_table AS SELECT * FROM old_table;