电脑技术学习

MySQL数据库在指定位置增加字段

dn001

这个本身属于MySQL的基本语法,我这里给出一个例子而已。

view plaincopy to clipboardprint?
mysql> -- 测试数据库在指定位置增加字段
mysql> drop table if exists t;
Query OK, 0 rows affected (0.06 sec)
mysql> create table t(age int,address varchar(50));
Query OK, 0 rows affected (0.06 sec)
mysql> desc t;
+---------+-------------+------+-----+---------+-------+
| Field| Type;;;;;| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| age;;| int(11);;| YES; |;;| NULL;|;;;;|
| address | varchar(50) | YES; |;;| NULL;|;;;;|
+---------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)
mysql> alter table t add column name varchar(20) after age;
Query OK, 0 rows affected (0.16 sec)
Records: 0; Duplicates: 0; Warnings: 0;
mysql> desc t;
+---------+-------------+------+-----+---------+-------+
| Field| Type;;;;;| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| age;;| int(11);;| YES; |;;| NULL;|;;;;|
| name;| varchar(20) | YES; |;;| NULL;|;;;;|
| address | varchar(50) | YES; |;;| NULL;|;;;;|
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> alter table t add column id int FIRST;
Query OK, 0 rows affected (0.13 sec)
Records: 0; Duplicates: 0; Warnings: 0;
mysql> desc t;
+---------+-------------+------+-----+---------+-------+
| Field| Type;;;;;| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id;;;| int(11);;| YES; |;;| NULL;|;;;;|
| age;;| int(11);;| YES; |;;| NULL;|;;;;|
| name;| varchar(20) | YES; |;;| NULL;|;;;;|
| address | varchar(50) | YES; |;;| NULL;|;;;;|
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
mysql>
mysql> -- 测试数据库在指定位置增加字段
mysql> drop table if exists t;
Query OK, 0 rows affected (0.06 sec)
mysql> create table t(age int,address varchar(50));
Query OK, 0 rows affected (0.06 sec)
mysql> desc t;
+---------+-------------+------+-----+---------+-------+
| Field| Type;;;;;| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| age;;| int(11);;| YES; |;;| NULL;|;;;;|
| address | varchar(50) | YES; |;;| NULL;|;;;;|
+---------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)
mysql> alter table t add column name varchar(20) after age;
Query OK, 0 rows affected (0.16 sec)
Records: 0; Duplicates: 0; Warnings: 0
mysql> desc t;
+---------+-------------+------+-----+---------+-------+
| Field| Type;;;;;| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| age;;| int(11);;| YES; |;;| NULL;|;;;;|
| name;| varchar(20) | YES; |;;| NULL;|;;;;|
| address | varchar(50) | YES; |;;| NULL;|;;;;|
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> alter table t add column id int FIRST;
Query OK, 0 rows affected (0.13 sec)
Records: 0; Duplicates: 0; Warnings: 0
mysql> desc t;
+---------+-------------+------+-----+---------+-------+
| Field| Type;;;;;| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id;;;| int(11);;| YES; |;;| NULL;|;;;;|
| age;;| int(11);;| YES; |;;| NULL;|;;;;|
| name;| varchar(20) | YES; |;;| NULL;|;;;;|
| address | varchar(50) | YES; |;;| NULL;|;;;;|
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
mysql>

相关的语法描述为

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name;alter_specification [, alter_specification] ...alter_specification:;table_option ...; | ADD [COLUMN] col_name column_definition;;;;;[FIRST | AFTER col_name ]