Mysql数据库 ALTER 操作详解

作者:静言善思 时间:2024-01-18 11:03:28 

背景:

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/16570641.html

标签:mysql,alter
0
投稿

猜你喜欢

  • Go语言实现超时的三种方法实例

    2023-06-22 18:32:43
  • php查询whois信息的方法

    2023-09-05 10:47:00
  • 使用面向对象的技术创建高级JavaScript Web 应用程序

    2008-11-03 13:00:00
  • MySQL应用技巧之内存使用线程独享

    2010-08-08 08:33:00
  • css有趣而诡异的数组

    2009-02-04 16:06:00
  • python使用 request 发送表单数据操作示例

    2022-08-06 07:31:07
  • Go语言基本的语法和内置数据类型初探

    2024-05-28 15:24:09
  • 关于JS中变量的显式申明和隐式申明

    2008-09-12 13:04:00
  • python中lambda()的用法

    2022-07-19 05:15:45
  • 禁止背景图在网页中平铺

    2011-04-29 14:10:00
  • javascript 获取硬盘信息代码

    2007-12-08 21:27:00
  • python利用re,bs4,requests模块获取股票数据

    2022-05-07 05:02:23
  • python实现批量修改图片格式和尺寸

    2021-02-12 10:47:35
  • Java并发编程数据库与缓存数据一致性方案解析

    2024-01-21 21:09:47
  • Django在admin后台集成TinyMCE富文本编辑器的例子

    2021-10-03 15:43:12
  • MySQL库表名大小写的选择

    2024-01-16 13:54:35
  • python获取文件版本信息、公司名和产品名的方法

    2022-05-31 17:30:23
  • python 指定源路径来解决import问题的操作

    2023-04-28 00:03:01
  • PHP中DirectIO操作文件扩展的用法大全

    2023-06-13 13:58:45
  • Python实现给文件添加内容及得到文件信息的方法

    2022-01-04 09:22:20
  • asp之家 网络编程 m.aspxhome.com