修改字段
- ALTER TABLE tbl_name MODIFY 字段名称 字段类型[完整性约束条件] [FIRST/AFTER 字段名称]
– 这种方法不能改变字段名称
– 想要保持之前的完整性约束必须要把条件再重复一边
– 这里我们将test5 修改为 CHAR(32) NOT NULL DEAFAULT 123 并且移动到 addr之后
mysql> DESC user10;
+----------+---------------------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------------------+------+-----+---------------------+----------------+
| test5 | int(11) | NO | | NULL | |
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | | NULL | |
| password | char(32) | NO | | NULL | |
| age | tinyint(3) unsigned | YES | | 18 | |
| addr | varchar(50) | NO | | NY | |
| email | varchar(50) | NO | | zhouruc16@gmail.com | |
| sex | enum('MALE','FEMALE','UNKNOWN') | NO | | UNKNOWN | |
| salary | float(6,2) | YES | | NULL | |
| regtime | int(10) unsigned | YES | | NULL | |
| face | char(100) | NO | | default.jpg | |
| card | char(18) | NO | UNI | NULL | |
+----------+---------------------------------+------+-----+---------------------+----------------+
12 rows in set (0.00 sec)
mysql> ALTER TABLE user10 MODIFY test5 CHAR(32) NOT NULL DEFAULT "123" AFTER addr;
Query OK, 0 rows affected (1.31 sec)
mysql> DESC user10;
+----------+---------------------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------------------+------+-----+---------------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | | NULL | |
| password | char(32) | NO | | NULL | |
| age | tinyint(3) unsigned | YES | | 18 | |
| addr | varchar(50) | NO | | NY | |
| test5 | char(32) | NO | | 123 | |
| email | varchar(50) | NO | | zhouruc16@gmail.com | |
| sex | enum('MALE','FEMALE','UNKNOWN') | NO | | UNKNOWN | |
| salary | float(6,2) | YES | | NULL | |
| regtime | int(10) unsigned | YES | | NULL | |
| face | char(100) | NO | | default.jpg | |
| card | char(18) | NO | UNI | NULL | |
+----------+---------------------------------+------+-----+---------------------+----------------+
12 rows in set (0.00 sec)
– 这里我们把card字段移动到第一个位置,
mysql> ALTER TABLE user10 MODIFY card CHAR(18) FIRST;
Query OK, 0 rows affected (1.04 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC user10;
+----------+---------------------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------------------+------+-----+---------------------+----------------+
| card | char(18