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 ...
随机推荐
- 【SSH2(实用文章)】--Struts2文件上传和下载的例子
回想一下,再上一篇文章Struts2实现机制,该步骤做一步一步来解决,这种决心不仅要理清再次Struts2用法.映射机制及其在深入分析.最后一个例子来介绍Struts2一种用法,这里将做一个有关文件上 ...
- DOM attributes and properties
element :attributes : DOM objects : properties 一个是元素属性的叙述性说明,它是对象属性的叙述性说明 版权声明:本文博客原创文章,博客,未经同意,不得转载 ...
- jquery :操作iframe
原文 jquery :操作iframe 1. 内容里有两个ifame <iframe id="leftiframe"...</iframe> <iframe ...
- Unity带有网络功能——创建服务,并连接到一个特定的服务
游戏本身需要在网络上创建服务,然后其他的游戏能够连接到这个服务,此外真实场景现在玩同样的游戏效果一起. 该方法是创建一个服务呼叫Network.InitializeServer( ): 是Networ ...
- 如何出色的研究 RGSS3 (三) 形式的调整的细节
在一个我们研究了添加到窗体方法的选择,这个问题来研究窗体类的细节. 所有形式的父类的 Window_Base 四个参数需要初始化. #--------------------------------- ...
- Docker contanier comunication with route
2台宿主机,hslave1 192.168.1.153, hslave2 192.168.1.154 修改网段 docker0默认网段是172.17.0.0/16,修改154机器的docker0的网段 ...
- eclipse环境下如何配置tomcat
eclipse环境下如何配置tomcat 很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过 ...
- Building a RESTful Web Service(转)
Building a RESTful Web Service This guide walks you through the process of creating a "hello wo ...
- DevExpress.XtraReports.UI.XtraReport 动态报表
原文:DevExpress.XtraReports.UI.XtraReport 动态报表 using System;using System.Collections.Generic;using Sys ...
- Nyoj 引水工程(最小生成树)
描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来投资额最大.涉及面最广的战略性工程,事关中华民族长远发展.“南水北调工程”,旨在缓解中国华北和西北地区水资源短缺的国家 ...