mysql alter语句添加、修改、删除字段的例子

发布时间:2020-01-01编辑:脚本学堂
mysql的ALTER TABLE语句 允许修改表信息:可以增加或删减字段,更改字段的数据类型和属性以及名称,创建或取消索引,甚至还可以更改表的评注和表的类型。

1、增加字段
语法:ALTER TABLE tb_name new_column data_type

例子:

ALTER TABLE user ADD status TINYINT(1) UNSIGNED NULL

默认新添加的字段位于表末尾,如果需要指定增加在某字段后面,可以加上AFTER关键字:

ALTER TABLE tb_name new_column data_type AFTER column

2、删除字段
语法:ALTER TABLE tb_name DROP column

在该字段删除后,和这个字段相关的索引和表约束也会被自动删除。
例子:

ALTER TABLE user DROP status

3、改变字段名称及属性
语法:ALTER TABLE tb_name CHANGE column new_column data_type

new_column为新的字段名称,如果新的名称和旧的名称一样,那么则不改变字段的名称而只改变字段的属性。

例子:

ALTER TABLE user CHANGE status status_bak INT(8) UNSIGNED NULL DEFAULT '1'

提示:即使 new_column 和 column 一样也不可省略。

4、增加索引(或表约束等其他)属性
语法:ALTER TABLE tb_name ADD INDEX_TYPE (column)

该语法等同于:CREATE INDEX_TYPE index_name ON tb_name (column)

例子:

//给 status 字段加上索引
ALTER TABLE user ADD INDEX (status) 

5、修改索引名及索引属性
语法:
ALTER TABLE tb_name DROP INDEX_TYPE index_name, ADD INDEX_TYPE new_index_name (column)

该语法的实质是将原来的索引删除,再重新建立索引。

6、RENAME TABLE 重命名表
RENAME TABLE 语法可以将一个或多个表重新命名。
语法:RENAME TABLE tb_name TO new_tb_name, tb_name2 TO new_tb_name2, …

提示
重命名操作自动进行,这意味着当重命名正在运行时,其它线程不能读取任何表。

如果想交换两个表的名字,可以做如下操作(假定不存在名为 tmp_table 的表):

RENAME TABLE old_table TO tmp_table,
             new_table TO old_table,
             tmp_table TO new_table

您可能感兴趣的文章:
mysql字段、主键、索引等的创建与修改命令
mysql修改字段长度的命令
MySQL添加字段与修改字段的方法
mysql实例:添加字段、删除字段、调整字段顺序
学习mysql的alter语句的用法:添加、修改、删除字段等
mysql为现有字段添加自增属性
mysql更改表结构的代码(添加、删除、修改字段等)