数据库的基本操作之单列添加

MySQL数据库单列添加详解
本文介绍了在MySQL中如何使用ALTER TABLE语句向表格中添加单列,包括默认添加、在指定列后添加以及在所有列之前添加的方法,并通过实例展示了操作后的表结构变化。
添加单列

ALTER TABLE tbl_name ADD [COLUMNS] col_name column_definition [FIRST | AFTER col_name]

开始时的表结构

mysql> show columns from users1;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(30) | NO | | NULL | |
| pid | smallint(5) unsigned | YES | MUL | NULL | |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.04 sec)

默认添加在结尾

mysql> alter table users1 add age smallint unsigned default 10;
Query OK, 0 rows affected (1.04 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> show columns from users1;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(30) | NO | | NULL | |
| pid | smallint(5) unsigned | YES | MUL | NULL | |
| age | smallint(5) unsigned | YES | | 10 | |
+----------+----------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

在username列之后添加
mysql> alter table users1 add password varchar(30) not null after username;
Query OK, 0 rows affected (1.42 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> show columns from users1;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(30) | NO | | NULL | |
| password | varchar(30) | NO | | NULL | |
| pid | smallint(5) unsigned | YES | MUL | NULL | |
| age | smallint(5) unsigned | YES | | 10 | |
+----------+----------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

在所有列之前添加

mysql> alter table users1 add sex enum('1', '2', '3') default '3' first;
Query OK, 0 rows affected (1.20 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> show columns from users1;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| sex | enum('1','2','3') | YES | | 3 | |
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(30) | NO | | NULL | |
| password | varchar(30) | NO | | NULL | |
| pid | smallint(5) unsigned | YES | MUL | NULL | |
| age | smallint(5) unsigned | YES | | 10 | |
+----------+----------------------+------+-----+---------+----------------+
6 rows in set (0.13 sec)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值