MySQL 修改表结构:RENAME,CHANGE,ALTER,MODIFY 四个字段的作用和区别 目录一. ALTER 搭配 ADD 向表中添加字段二. ALTER 搭配 MODIFY 修改表中的字段长度默认值数据类型三. ALTER 搭配 CHANGE 修改表中字段的名称四. ALTERRENAME 都可以修改表的名称五. DROP 和 TRUNCATE 的区别一. ALTER 搭配 ADD 向表中添加字段ALTER 是数据库提供的一个可以用来修改表结构的字段我们可以利用该字段再配合其他关键字对表中的字段及其字段属性做增删改操作# 向某个表中添加字段并确定字段类型与长度 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;二. ALTER 搭配 MODIFY 修改表中的字段长度默认值数据类型首先我们要知道一点一旦数据库创建我们基本不会再去修改字段的数据类型特别是数据库中已经存放有数据的时候更不会去修改因为代价太大业务代码很可能收到侵入。所以我们通常会使用 ALTER 和 MODIFY 字段搭配一起修改表中字段的长度和默认值。例如我们插入一条数据它的某个字段长度超过了表中定义的长度那么我们就需要将表中字段的长度变大不能说数据舍弃不要了这是不合理的。# 修改语法格式 ALTER TABLE 表名 MODIFY 字段名 字段类型(要修改为的长度) DEFAULT 要修改为的默认值; # 举例语句 # 将 t_patent 表中 patent_name 字段长度改为30默认值改为 aaa不想添加默认值不写即可 ALTER TABLE t_patent MODIFY patent_name VARCHAR(30) DEFAULT aaa;三. ALTER 搭配 CHANGE 修改表中字段的名称从作用上来讲你可以简单的理解为 CHANGE 是 MODIY 的增强版MODIFY 可以修改字段的长度和默认值CHANGE 在 MODIFY 的基础上还可以修改字段的名称即重命名字段。# 语法格式如下 ALTER TABLE 表名 CHANGE 原字段名称要修改后的字段名称 字段类型(要修改的长度) DEFAULT 要修改的默认值 # 举例将 t_patent 表中的 modified_user 字段 # 改名为 modified_username 长度也改为40默认值也改为张三 ALTER TABLE t_patent CHANGE modified_user modified_username VARCHAR(40) DEFAULT 张三;四. ALTERRENAME 都可以修改表的名称通过 RENAME 字段我们可以修改表的名称语法也较为简单但如果使用 ALTER 则需要搭配 RENAME 一起使用代码如下个人建议采用第一种 RENAME 的方式好记简单第二种则是ALTER RENAME 一起使用语法还变麻烦了。# 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;五. DROP 和 TRUNCATE 的区别DROP 表示删除表它会将整个表的结构和数据一并删除也就说表不复存在了并且不能回滚。但实际开发过程中公司中的DBA一般不会给予开发人员删除权限就算有删除也是逻辑删除。TRUNCATE 也表示删除表但它只会删除表中的数据表还在只是数据全部删掉了。