mysql 表中添加数据类型_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 字段后面的位置,添加字段成功。
mysql 表中添加数据类型_MySQL数据表添加字段(三种方式)相关推荐
- python 爬虫 数据抓取的三种方式
python 爬虫 数据抓取的三种方式 常用抽取网页数据的方式有三种:正则表达式.Beautiful Soup.lxml 1.正则表达式 正则表达式有个很大的缺点是难以构造.可读性差.不易适用未来 ...
- jupyter notebook python3路径_详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式...
方式1. 打开Windows的cmd,在cmd中输入jupyter notebook --generate-config如下图: 可以看到路径为D:\Users--找到此路径修改jupyter_not ...
- JavaScript中遍历数组的for for-in和forEach三种方式
JavaScript中遍历数组的for for-in和forEach三种方式 for循环 let arr = [1,2,3,4,5,6];for(let i = 0; i < arr.lengt ...
- mysql range代表什么意思_MySQL数据表range分区例子
某些行业数据量的增长速度极快,随着数据库中数据量的急速膨胀,数据库的插入和查询效率越来越低.此时,除了程序代码和查询语句外,还得在数据库的结构上做点更改:在一个主读辅写的数据库中,当数据表数据超过10 ...
- MySQL(一):分别基于mysqldump、lvm2、xtrabackup三种方式实现备份恢复
分别基于mysqldump.lvm2.xtrabackup三种方式实现MySQL备份恢复 一.利用mysqldump实施逻辑备份操作 1.在/etc/my.cnf中添加如下,开启二进制日志 innod ...
- JavaScript--------------------jQuery中.bind() .live() .delegate() .on()的区别 和 三种方式写光棒事件 动画...
bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数. $("a").bind("click",function(){alert( ...
- html 数据双向绑定,javascript实现数据双向绑定的三种方式小结
前端数据的双向绑定方法 前端的视图层和数据层有时需要实现双向绑定(two-way-binding),例如mvvm框架,数据驱动视图,视图状态机等,研究了几个目前主流的数据双向绑定框架,总结了下.目前实 ...
- mysql表中字段数据类型_mysql数据表中字段的数据类型有哪些?
数据表中字段的数据类型有:TINYINT.SMALLINT.MEDIUMINT.INT.INTEGE.DATETIME.DATE.TIMESTAMP.TIME.YEAR.CHAR.VARCHAR.TE ...
- mysql 目录武沛齐_MySQL数据表中的数据操作
1.插入数据 insert into t_user (username,password,nickname) values ('foye','123','佛爷'); 以下方式必须写出所有的字段 ins ...
最新文章
- GlobalSign 荣登网络信任联盟 2013 年网络信任荣誉榜
- Java提高班(一)Thread详解
- 微信机器人 java 源码_三步轻松打造微信聊天机器人(附源码)
- nova 命令汇总三 ——网络相关命令
- 【NLP系列公开课】详解BERT、知识图谱、对话生成、图卷积神经网络
- DbgPrint 格式字符串
- PHP操作FTP类 (上传下载移动创建等)
- jboss drools_JBoss Drools –入门
- Linux 系统中的dvfs功能
- Centos下安装Mongodb
- Ubuntu 6.10 发布
- 离散数学(下)第十章 群与环
- 获取当年的法定节假日和周末_通过可配置的周末和节假日添加工作日
- 查找数据库指定数据的数据表和字段名称SQL语句
- 柯西积分不等式的证明题
- 让自己的QQ个人头像Tip也有彩色背景(转)
- 1.1 Android 系统概述_智能手机系统介绍
- React-Native开源项目GITHUB
- 激光点云构建地图(二)手动标注点云地图
- flutter和原生交互
热门文章
- STM32 基础系列教程 11 – ADC 轮询
- verilog基础-状态机之FPGA独立按键消抖设计与验证(熟练testbench的写法)
- 【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!...
- eCos Mbox机制
- 不同项目配置不同的 Git 账号
- 易优cms问一下大家 二级目录 真的完全不能装吗
- 算法学习之路|住房空置率
- 青少年是维护网络安全的主力军
- 解决Sublime包管理package control 报错 There are no packages available for installation
- hdu 1087 Super Jumping! Jumping! Jumping!