如何在 MySQL 中使用 alter 添加列?\n


以下是在 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,默认值为 18。如果用户不提供 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”设置年龄,因此 Age 的默认值为 18

+------+--------+------+
| Id   | Name   | Age  |
+------+--------+------+
| 100  | Chris  | 24   |
| 101  | Robert | 18   |
+------+--------+------+
2 rows in set (0.00 sec)

更新于: 2019-07-30

158 次浏览

启动您的 职业生涯

完成课程后获得认证

开始
广告
© . All rights reserved.