0%

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
表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;

重命名列
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 【列类型】 COMMENT '注释说明';
例:
alter table t change teamname tname varchar(20) COMMENT '注释说明';

可以将表名更改
rename as 新表名
rename table 旧表名 TO 新表名;
alter table A rename as B;
rename table B to A; #旧表名 TO 新表名

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!