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

相关推荐
程序员清风10 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律10 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵10 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅11 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_11 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界13 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB14 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛14 小时前
MySQL的操作
数据库·mysql
猫咪很可爱14 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle
小豆庄15 小时前
视频素材处理时的隐私盲区:云处理与本地处理的边界在哪
数据库·图像处理·视频·敏捷流程