Mysql更改表结构ALTER (alter) 用法

作者:袖梨 2022-11-14

Mysql 语句之 更改表结构 ALTER (alter)
原创

表A为例:

代码如下 复制代码

create table A(

A_a int not null,

A_b int not null,

A_c char

)ENGINE=InnoDB CHARSET=utf8;

™语法:alter table 表名 action:

™说明:action 可以是如下语句:

可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列

add 列名<建表语句> (first | after 列名)

代码如下 复制代码

alter table A add A_d int first; #first 增加在第一列.

alter table A add A_e int after A_b; #first 增加在第一列.

alter table A add A_f int;

为表添加一个主键,如果主键已经存在,则出现错误

代码如下 复制代码

add primary key (列名)

alter table A add primary key(A_a);

可以更改指定列默认值

代码如下 复制代码

alter 列名 set default 默认值

alter table A alter A_c set default 'Y';

可以更改列类型,如果原列的名字和新列的名字相同,则change和Modify的作用相同

代码如下 复制代码

change (modify) 列名< 建表语句>(first | after)

alter table A change A_c A_f int [first | after 在X列名后];#更改列名 类型 位置 新列名 在 旧列名前

alter table A modify A_e char [first | after 在X列名后]; #只更改列类型或者位置

可以删除一列

drop 列名

代码如下 复制代码

alter table A drop A_d;

可以删除主键

代码如下 复制代码

drop primary key

alter table A drop primary key ;

可以删除索引

代码如下 复制代码

drop index index_name;

alter table A drop index index_name;

可以将表名更改

代码如下 复制代码

rename as 新表名

rename table 旧表名 TO 新表名;

alter table A rename as B;

rename table B to A; #旧表名 TO 新表名

相关文章

精彩推荐