sql追加列mysql_mysql如何给表中添加列(字段)?

mysql给表中添加列的方法:1、使用“ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件];”在末尾添加列;2、使用“ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] FIRST;”在开头添加列。

5f71465286d31104.jpg

(推荐教程:mysql视频教程)

MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。随着业务的变化,可能需要在已有的表中添加新的字段。

MySQL 允许在开头、中间和结尾处添加字段。

在末尾添加字段

一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语法格式如下:ALTER TABLE ADD [约束条件];

对语法格式的说明如下: 为数据表的名字;

为所要添加的字段的名字;

为所要添加的字段能存储数据的数据类型;

[约束条件] 是可选的,用来对添加的字段进行约束。

这种语法格式默认在表的最后位置(最后一列的后面)添加新字段。注意:本节我们只添加新的字段,不关注它的约束条件。

实例1

在 test 数据库中新建 student 数据表,SQL 语句和运行结果如下:mysql> USE test;

Database changed

mysql> CREATE TABLE student (

-> id INT(4),

-> name VARCHAR(20),

-> sex CHAR(1));

Query OK, 0 rows affected (0.09 sec)

使用 DESC 查看 student 表结构,SQL 语句和运行结果如下:mysql> DESC student;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id | int(4) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | char(1) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.01 sec)

使用 ALTER TABLE 语句添加一个 INT 类型的字段 age,SQL 语句和运行结果如下:mysql> ALTER TABLE student ADD age INT(4);

Query OK, 0 rows affected (0.16 sec)

Records: 0 Duplicates: 0 Warnings: 0

使用 DESC 查看 student 表结构,检验 age 字段是否添加成功。SQL 语句和运行结果如下:mysql> DESC student;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id | int(4) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | char(1) | YES | | NULL | |

| age | int(4) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

由运行结果可以看到,student 表已经添加了 age 字段,且该字段在表的最后一个位置,添加字段成功。

在开头添加字段

MySQL 默认在表的最后位置添加新字段,如果希望在开头位置(第一列的前面)添加新字段,那么可以使用 FIRST 关键字,语法格式如下:ALTER TABLE ADD [约束条件] FIRST;

FIRST 关键字一般放在语句的末尾。

实例2

使用 ALTER TABLE 语句在表的第一列添加 INT 类型的字段 stuId,SQL 语句和运行结果如下所示。mysql> ALTER TABLE student ADD stuId INT(4) FIRST;

Query OK, 0 rows affected (0.14 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> DESC student;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| stuId | int(4) | YES | | NULL | |

| id | int(4) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | char(1) | YES | | NULL | |

| age | int(4) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

5 rows in set (0.00 sec)

由运行结果可以看到,student 表中已经添加了 stuId 字段,且该字段在表中的第一个位置,添加字段成功。

在中间位置添加字段

MySQL 除了允许在表的开头位置和末尾位置添加字段外,还允许在中间位置(指定的字段之后)添加字段,此时需要使用 AFTER 关键字,语法格式如下:ALTER TABLE ADD [约束条件] AFTER ;

AFTER 的作用是将新字段添加到某个已有字段后面。

注意,只能在某个已有字段的后面添加新字段,不能在它的前面添加新字段。

实例3

使用 ALTER TABLE 语句在 student 表中添加名为 stuno,数据类型为 INT 的字段,stuno 字段位于 name 字段的后面。SQL 语句和运行结果如下:mysql> ALTER TABLE student ADD stuno INT(11) AFTER name;

Query OK, 0 rows affected (0.13 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> DESC student;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| stuId | int(4) | YES | | NULL | |

| id | int(4) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| stuno | int(11) | YES | | NULL | |

| sex | char(1) | YES | | NULL | |

| age | int(4) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

6 rows in set (0.00 sec)

由运行结果可以看到,student 表中已经添加了 stuId 字段,且该字段在 name 字段后面的位置,添加字段成功。

相关推荐:php培训

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

jlrleung

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值