MySQL之修改表中的列
修改表中列的語法:
一張表,創建完畢,有了N列。之後還可以增加或刪除或修改列---------------------------------------------------------------------------------------------------------------
下面是在mysql中的操作:
mysql> create table m1( -> id int unsigned auto_increment primary key -> ); Query OK, 0 rows affected (0.62 sec) mysql> desc m1; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | +-------+------------------+------+-----+---------+----------------+ 1 row in set (0.14 sec) mysql> alter table m1 add username char(20) not null default ''; Query OK, 0 rows affected (0.49 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc m1; +----------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | username | char(20) | NO | | | | +----------+------------------+------+-----+---------+----------------+ 2 rows in set (0.01 sec) mysql> alter table m1 add birth date not null default '0000-00-00'; Query OK, 0 rows affected (0.46 sec) Records: 0 Duplicates: 0 Warnings: 0 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 | | +----------+------------------+------+-----+------------+----------------+ 3 rows in set (0.01 sec) mysql> alter table m1 add gender char(1) not null default '' after username; Query OK, 0 rows affected (0.36 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc m1; +----------+------------------+------+-----+------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+------------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | username | char(20) | NO | | | | | gender | char(1) | NO | | | | | birth | date | NO | | 0000-00-00 | | +----------+------------------+------+-----+------------+----------------+ 4 rows in set (0.01 sec) mysql> #如果想增加一列,並位於表的最前面,用first mysql> alter table m1 add pid int not null default '' first; ERROR 1067 (42000): Invalid default value for 'pid' mysql> alter table m1 add pid int not null first; Query OK, 0 rows affected (0.40 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc m1; +----------+------------------+------+-----+------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+------------+----------------+ | pid | int(11) | NO | | NULL | | | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | username | char(20) | NO | | | | | gender | char(1) | NO | | | | | birth | date | NO | | 0000-00-00 | | +----------+------------------+------+-----+------------+----------------+ 5 rows in set (0.01 sec) mysql> #刪除列 mysql> desc m1; +----------+------------------+------+-----+------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+------------+----------------+ | pid | int(11) | NO | | NULL | | | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | username | char(20) | NO | | | | | gender | char(1) | NO | | | | | birth | date | NO | | 0000-00-00 | | +----------+------------------+------+-----+------------+----------------+ 5 rows in set (0.01 sec) mysql> alter table m1 drop pid; Query OK, 0 rows affected (0.37 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc m1; +----------+------------------+------+-----+------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+------------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | username | char(20) | NO | | | | | gender | char(1) | NO | | | | | birth | date | NO | | 0000-00-00 | | +----------+------------------+------+-----+------------+----------------+ 4 rows in set (0.01 sec) mysql> alter table m1 modify gender char(4) not null default ''; Query OK, 0 rows affected (0.47 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc m1; +----------+------------------+------+-----+------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+------------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | username | char(20) | NO | | | | | gender | char(4) | NO | | | | | birth | date | NO | | 0000-00-00 | | +----------+------------------+------+-----+------------+----------------+ 4 rows in set (0.05 sec) mysql> alter table m1 change id uid int unsigned; Query OK, 0 rows affected (0.44 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc m1; +----------+------------------+------+-----+------------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+------------+-------+ | uid | int(10) unsigned | NO | PRI | 0 | | | username | char(20) | NO | | | | | gender | char(4) | NO | | | | | birth | date | NO | | 0000-00-00 | | +----------+------------------+------+-----+------------+-------+ 4 rows in set (0.01 sec) mysql> exit; ----------------------------------------------------------------------------------
歡迎探討與學習。。。。。。