表修改语法之列的增删改
新建一個表,列使用上節我們使用的白領私密社交表
mysql> create table m1(
? ? -> id int unsigned auto_increment primary key
? ? -> )engine mysiam charset utf8;
一張表創建完畢,有了N列,之后 還有可能要增加或刪除或修改列
新增列:
2.1: ?alter table 表名 add 列名稱 列類型 列參數 ?【加的列在表的最后】
mysql> alter table m1 add birth date not null default '0000-00-00';
mysql> desc m1;
+-------+------------------+------+-----+------------+----------------+
| Field | Type ? ? ? ? ? ? | Null | Key | Default ? ?| Extra ? ? ? ? ?|
+-------+------------------+------+-----+------------+----------------+
| id ? ?| int(10) unsigned | NO ? | PRI | NULL ? ? ? | auto_increment |
| birth | date ? ? ? ? ? ? | NO ? | ? ? | 0000-00-00 | ? ? ? ? ? ? ? ?|
+-------+------------------+------+-----+------------+----------------+
2.2:?alter table 表名 add 列名稱 列類型 列參數 after 某列 【加新列加在某列后】
mysql> alter table m1 add username char(20) not null default '' after id;
mysql> desc m1;
+----------+------------------+------+-----+------------+----------------+
| Field ? ?| Type ? ? ? ? ? ? | Null | Key | Default ? ?| Extra ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
| id ? ? ? | int(10) unsigned | NO ? | PRI | NULL ? ? ? | auto_increment |
| username | char(20) ? ? ? ? | NO ? | ? ? | ? ? ? ? ? ?| ? ? ? ? ? ? ? ?|
| birth ? ?| date ? ? ? ? ? ? | NO ? | ? ? | 0000-00-00 | ? ? ? ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
2.3: alter table 表名 add 列名稱 列類型 列參數 first 【把新列加在最前面】
mysql> alter table m1 add pid int not null default 0 first;
mysql> desc m1;
+----------+------------------+------+-----+------------+----------------+
| Field ? ?| Type ? ? ? ? ? ? | Null | Key | Default ? ?| Extra ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
| pid ? ? ?| int(11) ? ? ? ? ?| NO ? | ? ? | 0 ? ? ? ? ?| ? ? ? ? ? ? ? ?|
| id ? ? ? | int(10) unsigned | NO ? | PRI | NULL ? ? ? | auto_increment |
| username | char(20) ? ? ? ? | NO ? | ? ? | ? ? ? ? ? ?| ? ? ? ? ? ? ? ?|
| birth ? ?| date ? ? ? ? ? ? | NO ? | ? ? | 0000-00-00 | ? ? ? ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
如果想新建一個列,且在表的最前面,用first
刪除列:
用法:alter table 表名 drop 列名
mysql> alter table m1 drop pid;
mysql> desc m1;
+----------+------------------+------+-----+------------+----------------+
| Field ? ?| Type ? ? ? ? ? ? | Null | Key | Default ? ?| Extra ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
| id ? ? ? | int(10) unsigned | NO ? | PRI | NULL ? ? ? | auto_increment |
| username | char(20) ? ? ? ? | NO ? | ? ? | ? ? ? ? ? ?| ? ? ? ? ? ? ? ?|
| birth ? ?| date ? ? ? ? ? ? | NO ? | ? ? | 0000-00-00 | ? ? ? ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
修改列
修改列類型:
用法:?alter table 表名 modirfy 列名 新類型 新參數?
mysql> alter table m1 modify username varchar(30) not null default '';
mysql> desc m1;
+----------+------------------+------+-----+------------+----------------+
| Field ? ?| Type ? ? ? ? ? ? | Null | Key | Default ? ?| Extra ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
| id ? ? ? | int(10) unsigned | NO ? | PRI | NULL ? ? ? | auto_increment |
| username | varchar(30) ? ? ?| NO ? | ? ? | ? ? ? ? ? ?| ? ? ? ? ? ? ? ?|
| birth ? ?| date ? ? ? ? ? ? | NO ? | ? ? | 0000-00-00 | ? ? ? ? ? ? ? ?|
+----------+------------------+------+-----+------------+----------------+
修改列名及列類型:
用法:alter table 表名 change 舊列名 新列名 新類型 新參數
mysql> alter table m1 change id uid int unsigned;
mysql> desc m1;
+----------+------------------+------+-----+------------+-------+
| Field ? ?| Type ? ? ? ? ? ? | Null | Key | Default ? ?| Extra |
+----------+------------------+------+-----+------------+-------+
| uid ? ? ?| int(10) unsigned | NO ? | PRI | 0 ? ? ? ? ?| ? ? ? |
| username | varchar(30) ? ? ?| NO ? | ? ? | ? ? ? ? ? ?| ? ? ? |
| birth ? ?| date ? ? ? ? ? ? | NO ? | ? ? | 0000-00-00 | ? ? ? |
+----------+------------------+------+-----+------------+-------+
轉載于:https://blog.51cto.com/shansongxian/1428246
總結
以上是生活随笔為你收集整理的表修改语法之列的增删改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EXSITS应该怎么用?
- 下一篇: 亲测_精简版Fiddler抓包手机端GE