MySQL之 ALTER vs CHANGE vs MODIFY COLUMN
1.ALTER COLUMN
用于设置或者移除某一列的默认(缺省)值,
1.1用法
ALTER TABLE MyTable ALTER COLUMN foo SET DEFAULT 'bar';
ALTER TABLE MyTable ALTER COLUMN foo DROP DEFAULT;
1.2 举例
mysql> desc pre_common_block;
+----------------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------------------+------+-----+---------+----------------+
| bid | mediumint(8) unsigned | NO | PRI | NULL | auto_increment |
| blockclass | varchar(255) | NO | | 0 | |
| blocktype | tinyint(1) | NO | | 0 | |
| name | varchar(255) | NO | | | |
| title | text | NO | | NULL | |
| classname | varchar(255) | NO | | | |
| summary | text | NO | | NULL | |
| uid | mediumint(8) unsigned | NO | | 0 | |
| username | varchar(255) | NO | | | |
| styleid | smallint(6) unsigned | NO | | 0 | |
| blockstyle | text | NO | | NULL | |
| picwidth | smallint(6) unsigned | NO | | 0 | |
| picheight | smallint(6) unsigned | NO | | 0 | |
| target | varchar(255) | NO | | | |
| dateformat | varchar(255) | NO | | | |
| dateuformat | tinyint(1) | NO | | 0 | |
| script | varchar(255) | NO | | | |
| param | text | NO | | NULL | |
| shownum | smallint(6) unsigned | NO | | 0 | |
| cachetime | int(10) | NO | | 0 | |
| cachetimerange | char(5) | NO | | | |
| punctualupdate | tinyint(1) | NO | | 0 | |
| hidedisplay | tinyint(1) | NO | | 0 | |
| dateline | int(10) unsigned | NO | | 0 | |
| notinherited | tinyint(1) | NO | | 0 | |
| isblank | tinyint(1) | NO | | 0 | |
+----------------+-----------------------+------+-----+---------+----------------+
26 rows in set (0.14 sec) mysql> ALTER TABLE pre_common_block ALTER COLUMN blocktype set DEFAULT 5;
Query OK, 0 rows affected (0.32 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc pre_common_block;
+----------------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------------------+------+-----+---------+----------------+
| bid | mediumint(8) unsigned | NO | PRI | NULL | auto_increment |
| blockclass | varchar(255) | NO | | 0 | |
| blocktype | tinyint(1) | NO | | 5 | |
| name | varchar(255) | NO | | | |
| title | text | NO | | NULL | |
| classname | varchar(255) | NO | | | |
| summary | text | NO | | NULL | |
| uid | mediumint(8) unsigned | NO | | 0 | |
| username | varchar(255) | NO | | | |
| styleid | smallint(6) unsigned | NO | | 0 | |
| blockstyle | text | NO | | NULL | |
| picwidth | smallint(6) unsigned | NO | | 0 | |
| picheight | smallint(6) unsigned | NO | | 0 | |
| target | varchar(255) | NO | | | |
| dateformat | varchar(255) | NO | | | |
| dateuformat | tinyint(1) | NO | | 0 | |
| script | varchar(255) | NO | | | |
| param | text | NO | | NULL | |
| shownum | smallint(6) unsigned | NO | | 0 | |
| cachetime | int(10) | NO | | 0 | |
| cachetimerange | char(5) | NO | | | |
| punctualupdate | tinyint(1) | NO | | 0 | |
| hidedisplay | tinyint(1) | NO | | 0 | |
| dateline | int(10) unsigned | NO | | 0 | |
| notinherited | tinyint(1) | NO | | 0 | |
| isblank | tinyint(1) | NO | | 0 | |
+----------------+-----------------------+------+-----+---------+----------------+
26 rows in set (0.02 sec)
2.ALTER COLUMN
用于某一数据列的重命名、修改数据类型或者删除。
2.1用法
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL AFTER baz;
2.2 举例
mysql> desc pre_common_block;
+----------------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------------------+------+-----+---------+----------------+
| bid | mediumint(8) unsigned | NO | PRI | NULL | auto_increment |
| blockclass | varchar(255) | NO | | 0 | |
| blocktype | tinyint(1) | NO | | 5 | |
| name | varchar(255) | NO | | | |
| title | text | NO | | NULL | |
| classname | varchar(255) | NO | | | |
| summary | text | NO | | NULL | |
| uid | mediumint(8) unsigned | NO | | 0 | |
| username | varchar(255) | NO | | | |
| styleid | smallint(6) unsigned | NO | | 0 | |
| blockstyle | text | NO | | NULL | |
| picwidth | smallint(6) unsigned | NO | | 0 | |
| picheight | smallint(6) unsigned | NO | | 0 | |
| target | varchar(255) | NO | | | |
| dateformat | varchar(255) | NO | | | |
| dateuformat | tinyint(1) | NO | | 0 | |
| script | varchar(255) | NO | | | |
| param | text | NO | | NULL | |
| shownum | smallint(6) unsigned | NO | | 0 | |
| cachetime | int(10) | NO | | 0 | |
| cachetimerange | char(5) | NO | | | |
| punctualupdate | tinyint(1) | NO | | 0 | |
| hidedisplay | tinyint(1) | NO | | 0 | |
| dateline | int(10) unsigned | NO | | 0 | |
| notinherited | tinyint(1) | NO | | 0 | |
| isblank | tinyint(1) | NO | | 0 | |
+----------------+-----------------------+------+-----+---------+----------------+
26 rows in set (0.02 sec) mysql> ALTER TABLE pre_common_block CHANGE COLUMN blocktype changetype tinyint(1) NOT NULL
Query OK, 2 rows affected (0.77 sec)
Records: 2 Duplicates: 0 Warnings: 0 mysql> desc pre_common_block;
+----------------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------------------+------+-----+---------+----------------+
| changetype | tinyint(1) | NO | | NULL | |
| bid | mediumint(8) unsigned | NO | PRI | NULL | auto_increment |
| blockclass | varchar(255) | NO | | 0 | |
| name | varchar(255) | NO | | | |
| title | text | NO | | NULL | |
| classname | varchar(255) | NO | | | |
| summary | text | NO | | NULL | |
| uid | mediumint(8) unsigned | NO | | 0 | |
| username | varchar(255) | NO | | | |
| styleid | smallint(6) unsigned | NO | | 0 | |
| blockstyle | text | NO | | NULL | |
| picwidth | smallint(6) unsigned | NO | | 0 | |
| picheight | smallint(6) unsigned | NO | | 0 | |
| target | varchar(255) | NO | | | |
| dateformat | varchar(255) | NO | | | |
| dateuformat | tinyint(1) | NO | | 0 | |
| script | varchar(255) | NO | | | |
| param | text | NO | | NULL | |
| shownum | smallint(6) unsigned | NO | | 0 | |
| cachetime | int(10) | NO | | 0 | |
| cachetimerange | char(5) | NO | | | |
| punctualupdate | tinyint(1) | NO | | 0 | |
| hidedisplay | tinyint(1) | NO | | 0 | |
| dateline | int(10) unsigned | NO | | 0 | |
| notinherited | tinyint(1) | NO | | 0 | |
| isblank | tinyint(1) | NO | | 0 | |
+----------------+-----------------------+------+-----+---------+----------------+
26 rows in set (0.00 sec)
3.MODIFY COLUMN
除了重命名外能够做CHANGE COLUMN能做的一切工作。
3.1用法
ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;
MySQL之 ALTER vs CHANGE vs MODIFY COLUMN的更多相关文章
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
ALTER COLUMN 语法: ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} 作用: 设置或删除列的默认值.该操作会直接修 ...
- alter table fx.pet modify column `species` varchar(20) binary;
alter table fx.pet modify column `species` varchar(20) binary;
- mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法 (转)
-- 设置或删除列的默认值.该操作会直接修改.frm文件而不涉及表数据.此操作很快 -- ALTER COLUMN ALTER TABLE dsp_ad_center.XianDuan ALTER ...
- mysql 的 alter table 操作性能小提示
通常情况下,修改表的结构一般不会有太大问题,无非就是一个 alter table 操作,但是对于大表做 alter 操作是一个大问题,请小伙伴们慎重. mysql执行大部分修改表结构操作方法是创建一个 ...
- mysql之ALTER COLUMN、CHANGE COLUMN、MODIFY COLUMN的区别
ALTER COLUMN:设置或删除列的默认值(操作速度非常快) 例子: alter table film alter column rental_duration set default 5; al ...
- MySQL:ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN
ALTER COLUMN.MODIFY COLUMN 和 CHANGE COLUMN 语句修改列: ALTER COLUMN:改变.删除列的默认值(备注:列的默认值存储在 .frm 文件中). 这个语 ...
- MySQL中ALTER ,CHANGE , MODIFY
ALTER TABLE project_list CHANGE COLUMN descriptionofproj proj_desc VARCHAR(100), CHANGE COLUMN contr ...
- mysql 中alter语句中change跟modify的区别
mysql 中alter语句中change和modify的区别可以使用CHANGE old_col_name column_definition子句对列进行重命名.重命名时,需给定旧的和新的列名称和列 ...
- Modify column Vs change column
引言 I know, we can not rename a column using modify column syntax,but can change column syntax. My qu ...
随机推荐
- 自动注册 IIS6 的 MIME 类型
原文 自动注册 IIS6 的 MIME 类型 由于IIS5和IIS6有很多的MIME类型没有设置,其中还包括了FLV(video/x-flv),上篇文章描述了制作<IIS6 自动安装>,而 ...
- 编程算法 - 数丑陋 代码(C)
数丑陋 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 我们把仅仅包括因子2, 3 和 5的数称作丑数. 求按从小到大的顺序的第5个丑数. 能够 ...
- hdu 3460 Ancient Printer
Problem Description The contest is beginning! While preparing the contest, iSea wanted to print the ...
- 学习javascript 的一点感想
原文:学习javascript 的一点感想 //动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作即可,如下例:var obj=ne ...
- (c#)SKYPE API项目总结(一)
原文:(c#)SKYPE API项目总结(一) 这个项目的需求:SKYPE软件文字聊天同步翻译,并将翻译后的内容会发送给对方,将对方发给自己的话翻译成自己语种.功能见图: ...
- hdu1107武术(模拟题)
Problem Description 在一个12行12方柱武侠世界,少林.武当峨眉武术弟子的三派,自相残杀主宰. 林世界的第一行的一列格子的坐标是(1, 1),第一行第二列坐标是(1, 2)--右下 ...
- SVN有用教程
好用的Windows下SVNclient——Tortoise SVN的下载地址: http://tortoisesvn.tigris.org/ 文档: http://www.subversion.or ...
- 【专访】【Spring常见问题汇总】【05】
种: 传播行为:传播行为定义了client与彼调用方法之间的事务边界. 隔离级别:隔离级别定义了一个事务可能受其它并发事务影响的程度. 仅仅读:表明事务是否是仅仅读的. 事务超时:指定事务执行的最长时 ...
- 试想一下,在代码学习Swift!
文件 https://itunes.apple.com/us/book/the-swift-programming-language/id881256329?mt=11 htt ...
- mysql_MYSQL远程登录权限设置
Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...