MySQL 如何使用alter添加列
以下是在MySQL中使用alter添加列的语法:
alter table yourTableName add column yourColumnName yourDataType default yourValue;
首先让我们创建一张表:
mysql> create table alterTableDemo
-> (
-> Id int,
-> Name varchar(10)
-> );
Query OK, 0 rows affected (0.69 sec)
使用DESC命令来查看表的描述,它会显示表的字段、类型、键等:
mysql> desc alterTableDemo;
将会输出以下内容:
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Id | int(11) | YES | | NULL | |
| Name | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
现在,添加一个名为Age的列,如果用户没有为Age列提供值,则MySQL将使用Age列的默认值。以下是使用alter命令添加列的查询:
mysql> alter table alterTableDemo add column Age int default 18;
Query OK, 0 rows affected (0.67 sec)
Records: 0 Duplicates: 0 Warnings: 0
让我们再次检查表的描述:
mysql> desc alterTableDemo;
将会输出以下内容:
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Id | int(11) | YES | | NULL | |
| Name | varchar(10) | YES | | NULL | |
| Age | int(11) | YES | | 18 | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
让我们使用insert命令将记录插入到表中。
以下是查询:
mysql> insert into alterTableDemo(Id,Name,Age) values(100,'Chris',24);
Query OK, 1 row affected (0.16 sec)
mysql> insert into alterTableDemo(Id,Name) values(101,'Robert');
Query OK, 1 row affected (0.25 sec)
以下是使用select语句从表中显示所有记录的查询:
mysql> select *from alterTableDemo;
以下是输出结果。由于我们没有为“Robert”设置年龄,因此将为年龄设置默认值18:
+------+--------+------+
| Id | Name | Age |
+------+--------+------+
| 100 | Chris | 24 |
| 101 | Robert | 18 |
+------+--------+------+
2 rows in set (0.00 sec)
阅读更多:MySQL 教程