Mysql数据库 ALTER 操作详解
作者:静言善思 发布时间:2024-01-18 11:03:28
标签:mysql,alter
背景:
ALTER作为DDL语言之一,工作中经常遇到,这里我们简单介绍一下常见的几种使用场景
新建两个测试表offices 和 employess
CREATE TABLE offices (
officeCode INT(10) NOT NULL UNIQUE ,
city VARCHAR(50) NOT NULL,
address VARCHAR(50) NOT NULL,
country VARCHAR(50) NOT NULL,
PRIMARY KEY(officeCode)
)
CREATE TABLE employees (
employeeNumber INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
lastName VARCHAR(50) NOT NULL,
firtName VARCHAR(50) NOT NULL,
officeCode INT(10) NOT NULL,
sex VARCHAR(5),
CONSTRAINT office_fk FOREIGN KEY(officeCode) REFERENCES offices (officeCode)
)
案例一:将表employees的lastName字段修改到firstName字段后面,并减少字符长度。
修改位置,需要用到ALTER TABLE MODIFY语句,输入语句如下
ALTER TABLE employees MODIFY lastName VARCHAR(25) AFTER firtName;
可以看到,lastName字段修改到firstName字段后面了。
案例二:将表employees的sex字段改名为employee_sex。
修改字段名,需要用到ALTER TABLE CHANGE语句,输入语句如下
ALTER TABLE employees CHANGE sex employee_sex VARCHAR(5);
可以看到,表中只有employee_sex字段,已经没有名称为sex的字段了,修改名称成功
案例三:修改employee_sex字段,数据类型为CHAR(1),非空约束
修改字段数据类型,需要用到ALTER TABLE MODIFY语句,输入语句如下:
ALTER TABLE employees MODIFY employee_sex CHAR(1) NOT NULL;
从执行结果可以看到,employee_sex字段的数据类型由前面的VARCHAR(5)修改为CHAR(1),且其Null列显示为NO,表示该列不允许空值,修改成功
案例四:删除字段employee_sex
删除字段,需要用到ALTER TABLE DROP语句,输入语句如下:
ALTER TABLE employees DROP employee_sex;
可以看到,表返回的列字段,employee_sex字段已经不在表结构中,删除字段成功
案例五:增加字段名city,数据类型为VARCHAR(10)。
修改字段数据类型,需要用到ALTER TABLE ADD语句,输入语句如下:
ALTER TABLE employees ADD city VARCHAR(10);
可以看到,数据表employees中增加了一个新的列city,数据类型为VARCHAR(10),允许空值,添加新字段成功
案例六:将表employees名称修改为employees_info
修改数据表名,需要用到ALTER TABLE RENAME语句,输入语句如下:
ALTER TABLE employees RENAME employees_info;
可以看到数据库中已经没有名称为employees的数据表。
来源:https://www.cnblogs.com/xiong97/p/16570641.html
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 今天使用pip安装第三库时,有时会报错:pip._vendor.urllib3.exceptions.ReadTimeoutError: H
- 本文将介绍 5 种基于 Plotly 的可视化方法,你会发现,原来可视化不仅可用直方图和箱形图,还能做得如此动态好看甚至可交互。那么,Plo
- 卸载旧版本的MySQL(没有就跳过此步骤)(注:3-6步 重新安装新版本的MySQL,一定要把之前版本卸载干净,要不会出错;新的虚拟机初装M
- 这篇文章主要介绍了Python安装whl文件过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 什么是多态?多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charl
- 俗话说,“工欲善其事,必先利其器”。对于前端开发工程师来说,基于Firefox丰富的Web开发辅助插件无疑就是最好的利器。下面就与大家分享2
- 在 多线程与多进程的比较 这一篇中记录了多进程编程的一种方式.下面记录一下多进程编程的别一种方式,即使用multiprocessing编程i
- 最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有
- 前言标准的 Bloom Filter 是一种比较简单的数据结构,只支持插入和查找两种操作。在所要表达的集合是静态集合的时候,标准 Bloom
- 本人虽然五音不全,但是听歌还是很喜欢的。希望能利用机器自动制作音乐,本我发现了一个比较适合入门的有趣的开源音乐生成模块 PySynth ,文
- 1. 进入mysql/bin目录下输入mysqladmin processlist; 2. 启动mysql,输入show processli
- 将数据库中的数据保存在excel文件中有很多种方法,这里主要介绍pyExcelerator的使用。一、前期准备(不详细介绍MySQL)pyt
- 一、维数的变形1. 一维数组转二维数组以及同维变换import numpy as nparr_1d = np.arange(12)# 使用
- 下载包地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python该页面下找到需要
- 概述Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的
- 做数据分析、科学计算等离不开工具、语言的使用,目前最流行的数据语言,无非是MATLAB,R语言,Python这三种语言,但今天小编简单总结了
- SQL Server 2005开始,我们可以直接通过CTE来支持递归查询,CTE即公用表表达式公用表表达式(CTE),是一个在查询中定义的临
- 背景:我们在使用数据库的过程中,很多时候要追求性能,特别在处理大批量数据的时候更希望快速处理。那么对SQL SERVER而言,数据库实现大批
- Python输入整数进行排序任务:自定需要排序数字的个数,对这些数字进行排序"""功能: 输入整数进行排序作者
- 一、安装MySQL 目前web服务器已经很少有跑静态页面