mysql数据库修改表信息_数据库——修改表信息(转)

MySQL Alter Table 修改表信息

Alter Table 修改表信息

ALTER TABLE 允许修改表信息:可以增加或删减字段,更改字段的数据类型和属性以及名称,创建或取消索引,甚至还可以更改表的评注和表的类型。

增加字段

语法:

ALTER TABLE tb_name new_column data_type

例子:

ALTER TABLE user ADD status TINYINT(1) UNSIGNED NULL

增加字段时需要注明字段的属性,可参考《MySQL 数据类型》。默认新添加的字段位于表末尾,如果需要指定增加在某字段后面,可以加上AFTER关键字:

ALTER TABLE tb_name new_column data_type AFTER column

删除字段

语法:

ALTER TABLE tb_name DROP column

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

例子:

ALTER TABLE user DROP status

改变字段名称及属性

语法:

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 一样也不可省略。

增加索引(或表约束等其他)属性

语法:

ALTER TABLE tb_name ADD INDEX_TYPE (column)

该语法等同于:

CREATE INDEX_TYPE index_name ON tb_name (column)

例子:

//给 status 字段加上索引

ALTER TABLE user ADD INDEX (status)

修改索引名及索引属性

语法:

ALTER TABLE tb_name DROP INDEX_TYPE index_name, ADD INDEX_TYPE new_index_name (column)

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值