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)

)

Mysql数据库 ALTER 基本操作

Mysql数据库 ALTER 基本操作

案例一:将表employees的lastName字段修改到firstName字段后面,并减少字符长度。

修改位置,需要用到ALTER TABLE MODIFY语句,输入语句如下

ALTER TABLE employees MODIFY lastName VARCHAR(25) AFTER firtName; 

Mysql数据库 ALTER 基本操作

可以看到,lastName字段修改到firstName字段后面了。

案例二:将表employees的sex字段改名为employee_sex。

修改字段名,需要用到ALTER TABLE CHANGE语句,输入语句如下

ALTER TABLE employees CHANGE sex employee_sex VARCHAR(5); 

Mysql数据库 ALTER 基本操作

可以看到,表中只有employee_sex字段,已经没有名称为sex的字段了,修改名称成功

案例三:修改employee_sex字段,数据类型为CHAR(1),非空约束

修改字段数据类型,需要用到ALTER TABLE MODIFY语句,输入语句如下:

ALTER TABLE employees MODIFY employee_sex CHAR(1) NOT NULL; 

Mysql数据库 ALTER 基本操作

从执行结果可以看到,employee_sex字段的数据类型由前面的VARCHAR(5)修改为CHAR(1),且其Null列显示为NO,表示该列不允许空值,修改成功

案例四:删除字段employee_sex

删除字段,需要用到ALTER TABLE DROP语句,输入语句如下:

ALTER TABLE employees DROP employee_sex; 

Mysql数据库 ALTER 基本操作

可以看到,表返回的列字段,employee_sex字段已经不在表结构中,删除字段成功

案例五:增加字段名city,数据类型为VARCHAR(10)。

修改字段数据类型,需要用到ALTER TABLE ADD语句,输入语句如下:

ALTER TABLE employees ADD city VARCHAR(10);

Mysql数据库 ALTER 基本操作

可以看到,数据表employees中增加了一个新的列city,数据类型为VARCHAR(10),允许空值,添加新字段成功

案例六:将表employees名称修改为employees_info

修改数据表名,需要用到ALTER TABLE RENAME语句,输入语句如下:

ALTER TABLE employees RENAME employees_info; 

Mysql数据库 ALTER 基本操作

可以看到数据库中已经没有名称为employees的数据表。

案例七,删除外键

具体见https://www.cnblogs.com/xiong97/p/16564428.html ,这里不再赘述

以上7个案例,便是工作中常遇到的场景。

Original: https://www.cnblogs.com/xiong97/p/16570641.html
Author: 静言善思
Title: Mysql数据库 ALTER 基本操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611949/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SQL Server内置的HTAP技术

    SQL Server内置的HTAP技术 目录 背景 SQL Server在OLAP上的发展 SQL Server的初代HTAP SQL Server逐渐增强的HTAP SQL Se…

    数据库 2023年6月9日
    0132
  • leetcode 637. Average of Levels in Binary Tree 二叉树的层平均值(简单)

    一、题目大意 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root = [3,…

    数据库 2023年6月16日
    081
  • 软件测试流程是什么?这题我不会啊

    转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/ae4fff18.html 你好,我是测试蔡坨坨。 最近收到不少准备转行软件测试的小伙伴私信问真实企业里…

    数据库 2023年6月11日
    0107
  • Mysql之Binlog

    1、简述 binlog 二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。 2、Docker中无法…

    数据库 2023年6月16日
    097
  • DRF使用缓存

    在做项目的时候,有时很多数据都是经常被访问的而且数据是基本不变的,比如省市区的数据是经常被用户查询使用的,而且数据基本不变化,所以我们可以将省市区数据进行缓存处理,减少数据库的查询…

    数据库 2023年6月14日
    072
  • Redis-内存淘汰策略

    策略分类 内存写满了怎么办?Redis提供了以下几种内存淘汰的策略: No eviction 不淘汰数据 即,内存写满后,再有写请求时,Redis直接返回错误,不会提供服务。这也是…

    数据库 2023年6月11日
    088
  • Vmware 虚拟机连接外网和设置固定IP

    NAT 模式(地址转换模式) 在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,虚拟机借助NAT功能,通过…

    数据库 2023年6月14日
    0101
  • Linux下搭建git分布式管理

    VMware 虚拟机中搭建步骤 一、 1.查一下ip 2.和Xshell连接起来 3.看是否连接上 4.这就ok了 5.输入 yum install git yum install…

    数据库 2023年6月6日
    092
  • 使用Typora + 阿里云OSS + PicGo 打造个人图床

    使用Typora + 阿里云OSS + PicGo 打造个人图床 为什么要打造图床? 让笔记远走高飞 试问以下场景: 我们要 markdown 笔记放到某博客上,直接进行复制即可。…

    数据库 2023年6月9日
    099
  • 尤娜,我去面试了

    前情回顾 从前,有一个简单的通道系统叫尤娜…… 尤娜系统的第一次飞行中换引擎的架构垂直拆分改造 四种常用的微服务架构拆分方式 面试前几天 尤娜系统经过一次拆…

    数据库 2023年6月6日
    082
  • NO.1 通讯录管理系统+源代码(C++)

    功能描述:显示简单的菜单,供用户选择操作 实现步骤:直接cout输出 功能描述:根据用户不同的操作代码选择,进入不同的功能,我们使用switch分支结构进行搭建 实现步骤:用whi…

    数据库 2023年6月14日
    076
  • English words 929 9:00

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16743070.html Or…

    数据库 2023年6月11日
    099
  • 【JDBC】笔记(2)— 模拟用户登录功能 (javaSE+MySQL+JDBC)[ 应用 Statement ]

    一.实现功能: 1、需求:模拟用户登录功能的实现2、业务描述:当程序运行时,它为用户输入用户名和密码提供了一个入口点。 [En] When the program is runni…

    数据库 2023年5月24日
    0191
  • Fork/Join框架

    我们要使用ForkJoin框架,必须首先创建一个ForkJoin任务。它提供在任务中执行 fork()和 join() 操作的机制,通常情况下我们不需要直接继承ForkJoinTa…

    数据库 2023年6月14日
    084
  • 汇编语言Assembly Language.asm–8086(持续更新)

    汇编语言Assembly Language.asm–8086 数据转移指令MOV 数据流向图 XCHG OPD,OPS数据交换指令 功能:将源操作数和目的操作数内容互换…

    数据库 2023年6月14日
    075
  • SMBMS(超市订单管理系统)项目从零开始搭建

    如果需要完整的系统可以加我qq:1842329236 一、搭建一个maven web项目 新建一个maven,并且使用模板 maven的详细创建,及配置请看这篇文章https://…

    数据库 2023年6月16日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球