mysql alter table 修改表命令详细介绍

(编辑:jimmy 日期: 2025/1/9 浏览:2)

MySQL ALTER语法如下:

ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] 
alter_specification: 
ADD [COLUMN] create_definition [FIRST | AFTER column_name ] 
or ADD INDEX [index_name] (index_col_name,...) 
or ADD PRIMARY KEY (index_col_name,...) 
or ADD UNIQUE [index_name] (index_col_name,...) 
or ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} 
or CHANGE [COLUMN] old_col_name create_definition 
or MODIFY [COLUMN] create_definition 
or DROP [COLUMN] col_name 
or DROP PRIMARY KEY 
or DROP INDEX index_name 
or RENAME [AS] new_tbl_name 
or table_options 
 

下面来看几个实例:

1、向表employee中添加Account_Number字段并设置其字段类型为INT

ALTER TABLE employee ADD COLUMN Account_Number INT

2、修改表employee中的ID字段为索引

ALTER TABLE employee ADD INDEX (ID) 

3、修改表employee中的ID字段为主键PRIMARY KEY

ALTER TABLE employee ADD PRIMARY KEY (ID)

4、修改表employee中的ID字段为唯一索引UNIQUE

ALTER TABLE employee ADD UNIQUE (ID)

5、将employee表中的id字段重命名为salary并设置其数据类型为int

ALTER TABLE employee CHANGE ID salary INT

6、删除employee表中的Customer_ID字段

ALTER TABLE employee DROP Customer_ID

7、删除employee表中所有主键

ALTER TABLE employee DROP PRIMARY KEY

8、删除employee表中字段Customer_ID的索引,只是将Customer_ID的索引取消,不会删除Customer_ID字段。

ALTER TABLE employee DROP INDEX Customer_ID

9、修改employee表中First_Name的字段类型为varchar(100)

ALTER TABLE employee MODIFY First_Name varchar(100) 

10、将表employee重命名为Customer

ALTER TABLE employee RENAME Customer 

11、多命令写在一起:

mysql> ALTER TABLE Books
  -> ADD PRIMARY KEY (BookID),
  -> ADD CONSTRAINT fk_1 FOREIGN KEY (PubID) REFERENCES Publishers (PubID),
  -> ADD COLUMN Format ENUM('paperback', 'hardcover') NOT NULL AFTER BookName;

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。