在mysql中我们要修改表结果或数据表字段名或修改表名都可以使用ALTER (alter)来实现,下面我来给大家介绍ALTER (alter)用法.
Mysql 语句之 更改表结构 ALTER (alter)
原创,表A为例,代码如下:
- createtableA(
- A_aintnotnull,
- A_bintnotnull,
- A_cchar
- )ENGINE=InnoDBCHARSET=utf8;
语法:alter table 表名 action:
说明:action 可以是如下语句.
可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列.
add 列名<建表语句> (first | after 列名),代码如下:
- altertableAaddA_dintfirst;#first增加在第一列.
- altertableAaddA_eintafterA_b;#first增加在第一列.
- altertableAaddA_fint;
为表添加一个主键,如果主键已经存在,则出现错误,代码如下:
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)
- altertableAchangeA_cA_fint[first|after在X列名后];#更改列名类型位置新列名在旧列名前
- --phpfensi.com
- altertableAmodifyA_echar[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;
可以将表名更改,代码如下:
- renameas新表名
- renametable旧表名TO新表名;
- altertableArenameasB;
- renametableBtoA;#旧表名TO新表名