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/16564428.html ,这里不再赘述

 

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

posted @ 2022-08-09 23:31  静言善思  阅读(346)  评论(0编辑  收藏  举报