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 也表示删除表,但它只会删除表中的数据,表还在,只是数据全部删掉了。

相关推荐
gmaajt24 分钟前
JavaScript中闭包对垃圾回收器GC标记清除算法的影响
jvm·数据库·python
NineData29 分钟前
NineData 亮相 2026 德国汉诺威工业博览会,加速拓展欧洲及全球市场
运维·数据库·人工智能·数据库管理·ninedata·ai服务·玖章算术
撩得Android一次心动30 分钟前
Android Room 数据库详解【源码篇】
android·数据库·android jetpack·room
m0_4954964130 分钟前
C#怎么操作音频文件 C#如何用NAudio播放录制和处理WAV MP3音频文件【工具】
jvm·数据库·python
dFObBIMmai1 小时前
CSS如何检测页面浮动元素位置_使用审查工具与clear
jvm·数据库·python
qq_460978401 小时前
实现 Svelte 中基于数组索引的 details 元素单开单关交互
jvm·数据库·python
这个DBA有点耶2 小时前
3步抓出慢SQL,别等半夜被叫醒😴
数据库·代码规范
dfdfadffa2 小时前
SQL窗口函数如何优化嵌套子查询_提升执行效率
jvm·数据库·python
m0_588758482 小时前
如何查看集群版本_crsctl query crs activeversion当前版本
jvm·数据库·python
摇滚侠2 小时前
Oracle19c 导出 Oracle11g 导入,Oracle19c 导出导入,Oracle11g 导出导入
java·数据库·oracle