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));

使用 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    |       |
+-------+-------------+------+-----+---------+-------+

使用 ALTER TABLE 语句添加一个 INT 类型的字段 age,SQL 语句和运行结果如下:

mysql> ALTER TABLE student ADD age INT(4);

使用 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    |       |
+-------+-------------+------+-----+---------+-------+

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

在开头添加字段,FIRST 关键字

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

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;

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

实例2
使用 ALTER TABLE 语句在表的第一列添加 INT 类型的字段 stuId,SQL 语句和运行结果如下所示。

mysql> ALTER TABLE student ADD stuId INT(4) FIRST;
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    |       |
+-------+-------------+------+-----+---------+-------+

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

在中间位置添加字段,AFTER 关键字

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;
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    |       |
+-------+-------------+------+-----+---------+-------+

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

7、数据表添加字段(三种方式)相关推荐

  1. mysql 为数据表添加字段_MySQL数据表添加字段实例

    MySQL 允许在开头.中间和结尾处添加字段.针对不同的位置,MySQL数据表添加字段的方式也有所不同,下面我们一起来看MySQL数据表添加字段的实例,方便我们理解MySQL数据表添加字段的方式. M ...

  2. form表单用butten提交后无反应表单提交三种方式

    form表单用butten提交后无反应&表单提交三种方式 一,表单提交无反应 有时候,我们发现表单提交的butten按钮,根本就没niao用.鼠标都点烂了,也提交不上去.找了半天什么错误也没找 ...

  3. oracle多表联合查询更新,ORACLE 两表关联更新三种方式

    不多说了,我们来做实验吧. 创建如下表数据 select * from t1 ; select * from t2; 现需求:参照T2表,修改T1表,修改条件为两表的fname列内容一致. 方式1,u ...

  4. CSS样式表引入的三种方式,及优先级顺序

    CSS样式表引入的三种方式,及优先级顺序 CSS可以通过三种方式引入样式表,三种方式分别是行内样式表,内部样式表和外部样式表. 行内样式表 通过给标签设定style属性 <body>< ...

  5. python 爬虫 数据抓取的三种方式

    python 爬虫   数据抓取的三种方式 常用抽取网页数据的方式有三种:正则表达式.Beautiful Soup.lxml 1.正则表达式 正则表达式有个很大的缺点是难以构造.可读性差.不易适用未来 ...

  6. html 数据双向绑定,javascript实现数据双向绑定的三种方式小结

    前端数据的双向绑定方法 前端的视图层和数据层有时需要实现双向绑定(two-way-binding),例如mvvm框架,数据驱动视图,视图状态机等,研究了几个目前主流的数据双向绑定框架,总结了下.目前实 ...

  7. mysql 表中添加数据类型_MySQL数据表添加字段(三种方式)

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

  8. MySQL数据库——MySQL数据表添加字段(三种方式)

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

  9. Oracle-多表连接的三种方式解读

    概述 在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式. 下面是从10053事件中截取的部分trace原文件. Join order[2]: T[T]#1 T1[T1] ...

  10. 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP

    在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式. 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图. 从3张图里我们看到了几点 ...

最新文章

  1. leetcode 74 java_【LeetCode】74. Search a 2D Matrix
  2. Kubernetes(7) Service Network (advanced)
  3. bp神经网络pid控制_文章推荐 | BP神经网络PID控制器在无人机编队飞行中的应用...
  4. DevExpress的TreeList怎样设置数据源使其显示成单列树形结构
  5. 21_Android中常见对话框,光传感器,通过重力感应器编写出指南针应用,帧动画,通过Jav代码的方式编写补间动画,通过XML的方式编写补间动画
  6. python查找输出文字_Python基础练习,查询文本内容并输出;
  7. 认识容器,我们从它的历史开始聊起
  8. 操作系统锁的实现方法有哪几种_一文带你彻底了解同步和锁的本质
  9. 8-3 redis sentine
  10. GPS围栏两个多边形相交问题的奇葩解法
  11. 最近在职场的一些感悟
  12. paip.lucene 4.3 中文语义搜索最佳实践
  13. 家用电器插头插座外壳防冲击等级试验——IK摆锤冲击试验装置
  14. LoadRunner教程(24)-LoadRunner 读取Excel数据参数化
  15. flexPaper制作在线文库阅读器思路
  16. linux的磁盘busy,Linux umount 报 device is busy 的处理方法
  17. 移动边缘计算将如何实现元宇宙?
  18. C#实现右下角弹窗效果
  19. 1002. 写出这个数 (20)练习
  20. 查找(顺序查找、二分查找、插值查找)

热门文章

  1. 海康大华等录像机、摄像头无法通过GB28181注册到LiveGBS国标平台问题排查方法
  2. Endnote X6大客户版破解版+新功能介绍+视频介绍
  3. 2021年社工必备查询网址汇总
  4. 最新抓包工具BurpSuite2022.2.3 pj版
  5. 使用 C# 写脚本的优势和方法
  6. 51单片机(十)—— 8位数码管-数码管扫描
  7. 【工具】IDEA打包jar包
  8. 计算机网络【课程复习】
  9. .net DLL反编译文件
  10. digester java_JAVA Digester 简介