ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN 语句修改列:

  • ALTER COLUMN:改变、删除列的默认值(备注:列的默认值存储在 .frm 文件中)。

这个语句会直接修改 .frm 文件而不涉及表数据,所以操作很快。

-- 改变列的默认值
ALTER TABLE test ALTER COLUMN age SET DEFAULT 17; -- 删除列的默认值
ALTER TABLE test ALTER COLUMN age DROP DEFAULT;
  • MODIFY COLUMN:修改列数据类型;改变列的默认值、删除列的默认值(备注:这个操作会做读、插入操作,即:拷贝了整张表到一张新表)。
-- 修改列的数据类型(备注:未执行语句之前是 name VARCHAR(10))
ALTER TABLE test MODIFY COLUMN name VARCHAR(20); -- 改变列的默认值
ALTER TABLE test MODIFY COLUMN name VARCHAR(20) NOT NULL DEFAULT 'a'; -- 删除列的默认值
ALTER TABLE test MODIRY COLUMN name VARCHAR(20);
  • CHANGE COLUMN:重命名列;重命名列和修改列的数据类型(备注:单独修改列的数据类型报错)。
-- 重命名列
ALTER TABLE test CHANGE COLUMN name new_name VARCHAR(20) NOT NULL; -- 重命名列和修改列的数据类型(备注:未执行语句之前是 new_name VARCHAR(20))
ALTER TABLE test CHANGE COLUMN new_name latest_name VARCHAR(50);

还是自己写 SQL 验证更靠谱!

MySQL:ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN的更多相关文章

  1. 【待整理】MySQL alter table modify vs alter table add产生state不一样

    MySQL:5.6.35 OS:redhat5.8 今天更新数据库某些表字段,有如下两SQL: ①alter table xx modify xxxx;(表大概是77w) ②alter table s ...

  2. MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN

    ALTER COLUMN 语法: ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} 作用: 设置或删除列的默认值.该操作会直接修 ...

  3. mysql之ALTER COLUMN、CHANGE COLUMN、MODIFY COLUMN的区别

    ALTER COLUMN:设置或删除列的默认值(操作速度非常快) 例子: alter table film alter column rental_duration set default 5; al ...

  4. Modify column Vs change column

    引言 I know, we can not rename a column using modify column syntax,but can change column syntax. My qu ...

  5. mysql alter 语句用法,添加、修改、删除字段等

    2013-05-03 17:13 39459人阅读 评论(1) 收藏 举报  分类: Mysql(9)  修改表名: ALTER  TABLE admin_user RENAME TO a_use / ...

  6. mysql alter使用

    修改表名: ALTER  TABLE Table_name_A RENAME TO Table_name_B; //增加主键 alter table tabelname add new_field_i ...

  7. MySQL ALTER TABLE语法

    先看一下定义(密密麻麻) ALTER TABLE tbl_name [alter_specification [, alter_specification] ...] [partition_optio ...

  8. mysql alter 语句用法,添加、修改、删除字段、索引、主键等

    修改表名: ALTER  TABLE admin_user RENAME TO a_use //增加主键 [sql] view plaincopy alter table tabelname add  ...

  9. mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法 (转)

    -- 设置或删除列的默认值.该操作会直接修改.frm文件而不涉及表数据.此操作很快 -- ALTER COLUMN ALTER TABLE  dsp_ad_center.XianDuan ALTER  ...

随机推荐

  1. python使用临时文件

    # 需求 # 某项目中,我们从传感器中采集数据,没采集1G数据后,做数据分析,最终只保存分析结果 # 这样很大的临时文件如果常驻在内存,将消耗大量地内存资源,我们可以使用临时文件储存(外部储存) # ...

  2. Vue中自动获取input焦点

    <input v-focus type="text" name="search" ref="input" autofocus v-mo ...

  3. Elasticsearch集群知识笔记

    Elasticsearch集群知识笔记 Elasticsearch内部提供了一个rest接口用于查看集群内部的健康状况: curl -XGET http://localhost:9200/_clust ...

  4. python3爬取高清壁纸(2)

    上次只是爬取一个专辑的图片,这次要爬取一整个页面的所有专辑的图片. 在上次的代码的基础上进行修改就行了,从专辑的索引页面开始,爬取该页面上所有的专辑的链接,再套用上次的代码就行了. 若要爬取多个页面只 ...

  5. openresty + lua

    lua语法总结: 1. 导入模块(用require来加载,模块是一个类型为table的全局变量) 导入写好的包,举例如下: 2. lua 数据类型(有8种:nil.boolean.number.str ...

  6. HTML 5 视频直播一站式扫盲(转载)

    http://www.alloyteam.com/2016/05/h5-camera-literacy/

  7. C. Grid game 思维+问题转化

    C. Grid game 思维+问题转化 题意 每当有一行或者一列方格的时候,都可以消气这一行或者这一列,一共有两种形状的方块,一种是横的两个,一种是竖着的两个,按时间顺序放在4*4的格子里面,问怎么 ...

  8. 消息中间件MQTT

    1.1概念 MQTT(MQ Telemetry Transport) 消息队列遥测传输协议是IBM开发的一种网络应用层的协议,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息 ...

  9. java基础(八)之函数的复写/重写(override)

    复写的意思就是子类对父类的修改. 复写的条件: 1.在具有父子类关系的两个类当中:2.父类和子类各有一个函数,这两个函数的定义保持一致(返回值类型.函数名.参数列表) 还是老样子,3个文件来说明. P ...

  10. web前端-基础篇

    该篇仅是本人学习前端时,做的备忘笔记: 一.背景图片设置: 设置背景图时的css代码:background-image:url(图片的url路径); ps:设置好这个背景后请一定要设置该背景图片的大小 ...