修改列的数据类型、位置、列名,添加列及删除列
修改列的数据类型
mysql> desc singer;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| name | varchar(5) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| song | varchar(10) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (2.982 sec)
mysql>
把 name 的数据类型由 varchar(5) 修改为 varchar(8),执行下面的命令
mysql> alter table singer modify name varchar(10);
Query OK, 0 rows affected (2.967 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
修改列的顺序
mysql> alter table singer modify song varchar(10) after name;
Query OK, 0 rows affected (6.652 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
把列 song 的位置改变到最前面,使用下面的命令 改变列名
mysql> alter table singer change name nickname varchar(10);
Query OK, 0 rows affected (1.505 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
name 被改为 nickname 后的列的布局
mysql> desc singer;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| song | varchar(10) | YES | | NULL | |
| nickname | varchar(10) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.050 sec)
mysql>
添加列
mysql> alter table singer add id int;
Query OK, 0 rows affected (1.407 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
增加新列 id 后的列的布局
mysql> desc singer;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| song | varchar(10) | YES | | NULL | |
| nickname | varchar(10) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| id | int | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.044 sec)
mysql>
删除列
mysql> alter table singer drop birthday;
Query OK, 0 rows affected (1.333 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>