RENAME,CHANGE,ALTER,MODIFY 四个字段的作用和区别

目录

[1. ALTER 搭配 ADD 向表中添加字段](#1. ALTER 搭配 ADD 向表中添加字段)

[2. ALTER 搭配 MODIFY 修改表中的字段长度,默认值,数据类型](#2. ALTER 搭配 MODIFY 修改表中的字段长度,默认值,数据类型)

[3. ALTER 搭配 CHANGER 修改表中字段的名称](#3. ALTER 搭配 CHANGER 修改表中字段的名称)

[4. ALTER,RENAME 都可以修改表的名称](#4. ALTER,RENAME 都可以修改表的名称)

[5. DROP 和 TRUNCATE 的区别](#5. DROP 和 TRUNCATE 的区别)


1. ALTER 搭配 ADD 向表中添加字段

ALTER 是数据库提供的一个可以用来修改表结构的字段,我们可以利用该字段再配合其他关键字对表中的字段及其字段属性做增删改操作;

sql 复制代码
# 向某个表中添加字段并确定字段类型与长度
ALTER TABLE 表名 ADD 字段名 字段类型(长度) 指定位置(不写则默认加之最后);

USE patent;
# 举例1:将字段 price 添加至 t_patent 表的最后
ALTER TABLE t_patent ADD parice DOUBLE(10,2);

# 举例2:将字段 price 添加至 t_patent 表的第一个字段处
ALTER TABLE t_patent ADD parice DOUBLE(10,2) FIRST;

# 举例3:将字段price添加至t_patent表patent_name字段的后面
ALTER TABLE t_patent ADD parice DOUBLE(10,2) AFTER patent_name;

2. ALTER 搭配 MODIFY 修改表中的字段长度,默认值,数据类型

首先我们要知道一点,**一旦数据库创建,我们基本不会再去修改字段的数据类型,**特别是数据库中已经存放有数据的时候,更不会去修改,因为代价太大,业务代码很可能收到侵入。

所以我们通常会使用 ALTER 和 MODIFY 字段搭配一起修改表中字段的长度和默认值。例如我们插入一条数据,它的某个字段长度超过了表中定义的长度,那么我们就需要将表中字段的长度变大,不能说数据舍弃不要了,这是不合理的。

sql 复制代码
# 修改语法格式
ALTER TABLE 表名 
MODIFY 字段名 字段类型(要修改为的长度) DEFAULT '要修改为的默认值';

# 举例语句
# 将 t_patent 表中 patent_name 字段长度改为30,默认值改为 aaa,不想添加默认值不写即可
ALTER TABLE t_patent
MODIFY patent_name VARCHAR(30) DEFAULT 'aaa';

3. ALTER 搭配 CHANGER 修改表中字段的名称

从作用上来讲,你可以简单的理解为 CHANGER 是 MODIY 的增强版,MODIFY 可以修改字段的长度和默认值,CHANGER 在 MODIFY 的基础上还可以修改字段的名称,即重命名字段。

sql 复制代码
# 语法格式如下
ALTER TABLE 表名
CHANGE 原字段名称,要修改后的字段名称 字段类型(要修改的长度) DEFAULT '要修改的默认值'

# 举例:将 t_patent 表中的 modified_user 字段
# 	    改名为 modified_username 长度也改为40,默认值也改为张三
ALTER TABLE t_patent
CHANGE modified_user modified_username VARCHAR(40) DEFAULT '张三';

4. ALTER,RENAME 都可以修改表的名称

通过 RENAME 字段我们可以修改表的名称,语法也较为简单;

但如果使用 ALTER 则需要搭配 RENAME 一起使用

代码如下,个人建议采用第一种 RENAME 的方式,好记简单,第二种则是ALTER RENAME 一起使用,语法还变麻烦了。

sql 复制代码
# RENAME修改表的名称语法格式
RENAME TABLE 原表名 TO 新表名;
# 举例演示,将表 t_patent 改名为 patent6
RENAME TABLE t_patent TO patent6;

# ALTER修改表的名称语法格式
ALTER TABLE 原表名 RENAME TO 新表名;
# 举例演示,将表 patent6 改名为 patent
ALTER TABLE patent6 RENAME TO patent5;

5. DROP 和 TRUNCATE 的区别

DROP 表示删除表,它会将整个表的结构和数据一并删除,也就说表不复存在了,并且不能回滚。但实际开发过程中,公司中的DBA一般不会给予开发人员删除权限,就算有删除也是逻辑删除。

TRUNCATE 也表示删除表,但它只会删除表中的数据,表还在,只是数据全部删掉了。

相关推荐
Hello.Reader4 小时前
Redis 延迟监控深度指南
数据库·redis·缓存
ybq195133454314 小时前
Redis-主从复制-分布式系统
java·数据库·redis
好奇的菜鸟7 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°7 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜8 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
Hello.Reader9 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客10 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法10 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
JAVA学习通11 小时前
Mybatis--动态SQL
sql·tomcat·mybatis
老纪的技术唠嗑局13 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库