目的
在日常的测试工作中,无论测试项目准备阶段还是测试执行阶段,团队成员经常会需要使用SQL语句进行测试数据的制作和准备,比较常用的就是增删查改等一些基础操作,但偶尔也会涉及到修改表结构的极端情况。
表结构修改的基础语法
如有一张表"tb_user_info"结构为:
+--------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| user | char(8) | YES | | AAAA | |
| memo | char(30) | YES | | NULL | |
+--------+----------+------+-----+---------+-------+
下面就先做一些基础的表结构修改操作
添加、删除和修改表字段
【添加字段name并进行类型定义】
alter table tb_user_info add name varchar(20);
【删除字段id】
alter table tb_user_info drop id;
【将user字段名修改为login_name】
alter table tb_user_info change user login_name;
【将name字段的类型改为varchar(30)】
alter table tb_user_info modify name varchar(30);
修改字段默认值
【字段有默认值的情况下,先删除原有默认值】
alter table tb_user_info alter login_name drop default;
【字段无默认值的情况下,直接定义默认值即可】
alter table tb_user_info alter login_name set default 'BBB';
修改表名
alter table tb_user_info rename to tb_user_information;
进阶操作
根据指定位置进行字段添加 如需要将字段添加至第一列,则使用first关键字,如需将字段添加至某一列的后面则使用after关键字
【添加字段name至第一列】
alter table tb_user_info add column name varchar(20) first;
【添加字段name至id与name字段之间】
alter table tb_user_info add column name varchar(20) after id;
一些关键字的复用
【使用modify来直接改变user字段的默认值】
alter table tb_user_info modify user char(8) default 'BBB';
多列修改操作
【多字段添加】
alter table tb_user_info add (number int(11), age int(3));
【多字段名修改】
alter table tb_user_info change user user_1 char(8),change id id_1 int(11);
【多类型混合操作】
alter table tb_user_info add school varchar(10) after user,change user user_1 char(8),modify number int(12) default 13311111111;
注意事项
- 与创建字段相同,修改字段是不指定默认值,一律为null;
- 注意当表中只剩有一个字段的时候无法使用drop进行字段删除;
- 使用change关键字后,需要指定你要修改的字段名以及字段的类型;
- first和 after关键字可用于add与modify子句;
- 如果你想重置数据表字段的位置就需要先使用drop删除字段然后使用add来添加字段并设定位置;
|