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