修改数据表

修改数据表是修改数据库中已经存在的数据表的结构。MySQL使用alter table 语句修改表。常用的修改表操作有:修改名,修改字段数据类型或字段名,增加和删除字段,修改字段的排列位置,更改表的存储引擎,删除表的外键约束。

1,修改表名
mysql是通过alter table 语句来实现表名来修改的,具体语法如下:
其中to为可选参数,使用与否均不影响结果。
例:将数据库tb_lsl 改为tb_lwm 执行修改表名操作之前,使用show tables查看数据库中所以的表。

wKioL1nkUh6S0YwLAAAIgDdeJfU440.png-wh_50

使用alter table将表tb_lsl 修改为tb_lwm sql语句如下
alter table tb_lsl rename tb_lwm

wKiom1nkWU3goqMNAAANZUPAnls698.png-wh_50

例:将数据表tb_lwm中的name 字段的数据类型由varchar(22)修改成varchar(30)

wKioL1nkWdCwwGnyAAAO2d5--iM176.png

可以看到现在name字段的数据类型为varchar(22),下面修改成varchar(30)

alter table tb_lwm modify name varchar(30);
wKioL1nkWsOSEXeRAAAV9VevqH4869.png

修改字段名

mysql中修改字段名的语法规则如下:
alter table <表名> change <旧字段> <新字段名> <新数据库类型>


将数据表tb_lwm中localhost字段名称修改loc,数据类型保持不变,sql语句如下:
alter table tb_lwm change location loc varchar(50);
使用desc 查看tb_lwm 会发现字段的名称已经修改成功,结果如下:

wKiom1nkX2OgR1-GAAAWgc-5oVo689.png

例:将数据表tb_lwm中的loc字段名称改为location,同时将数据类型变为varchar(60),sql语句如下:
alter table tb_lwm change loc location varchar(60);
使用desc查看表tb_lwm,会发现字段名称和数据类型均已经修改成功,结果如下:

wKiom1nkYITRm10cAAANJZp3S8Y327.png

添加字段
随着业务需求的变化,可能需要在已经存在的表中添加新的字段。一个完整字段包括字段名,数据类型,完整性约束。添加字段的语法格式如下:
alter table <表名>  add <新字段名> <数据类型>
[约束条件] [FIRST] | AFTER 已存在字段名];

新字段名为需要添加字段的名称;“FIRST”为可选参数,其作用是将新添加的字段设置为表的第一段;after 为可选参数 其作用是将新添加的字段添加到指定de“已存在字段名”的后面。