mysql 修改表结构操作
使用 【desc 表名】查看表结构
1、mysql > alter table passwd add id int(3) not null auto_increment primary key not null first ;
在字段的上面添加一个新的字段。需要关键字 first
mysql> desc passwd ;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
| username | char(30) | NO | MUL | NULL | |
| pass | char(1) | NO | | NULL | |
| uid | int(5) | NO | | NULL | |
| gid | int(5) | NO | | NULL | |
| common | varchar(50) | YES | | NULL | |
| homedir | char(50) | YES | | NULL | |
| shell | char(50) | NO | | NULL | |
mysql> alter table passwd add id int(3) not null auto_increment primary key not null first ;
Query OK, 37 rows affected (0.04 sec)
Records: 37 Duplicates: 0 Warnings: 0
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
| id | int(3) | NO | PRI | NULL | auto_increment |
| username | char(30) | NO | MUL | NULL | |
| pass | char(1) | NO | | NULL | |
| uid | int(5) | NO | | NULL | |
| gid | int(5) | NO | | NULL | |
| common | varchar(50) | YES | | NULL | |
| homedir | char(50) | YES | | NULL | |
| shell | char(50) | NO | | NULL | |
2、在指定的位置添加一个新的字段
在id字段后添加一个新的字段date
mysql> alter table passwd add date year after id ; 需要用到after关键字
mysql> alter table passwd add date year after id ;
Query OK, 37 rows affected (0.01 sec)
mysql> desc passwd
-> ;
| date | year(4) | YES | | NULL | |
| pass | char(1) | NO | | NULL | |
3、默认添加在最后面.
mysql> alter table passwd add QQ int(16) ;
| QQ | int(16) | YES | | NULL | |
10 rows in set (0.00 sec)
4、删除表结构
mysql> alter table passwd drop date ;
mysql> alter table passwd drop date ;
Query OK, 37 rows affected (0.02 sec)
5、修改字段类型
mysql> alter table passwd modify QQ int(11) not null ; 修改passwd表的QQ字段。
mysql> alter table passwd modify QQ int(11) not null ;
Query OK, 37 rows affected, 37 warnings (0.00 sec)
Records: 37 Duplicates: 0 Warnings: 37
| QQ | int(11) | NO | | NULL | |
6、修改字段名
mysql> alter table passwd change QQ qq int(11) not null ; 修改QQ字段为qq,用到change关键字。 需要将权限类型写上,也可以更改类型。
mysql> alter table passwd change QQ qq int(11) not null ;
Query OK, 37 rows affected (0.00 sec)
mysql> desc passwd ;
| qq | int(11) | NO | | NULL | |
9 rows in set (0.00 sec)
本文转自zhaoyun00 51CTO博客,原文链接:http://blog.51cto.com/zhaoyun/727252