ALTER 对于列的应用:
 
1.更改列名
     格式:CHANGE old_col_name new_col_name column_definition
     保留old和new列名
         列名:a ---->b 列类型
   ALTER TABLE t1 CHANGE a b INTEGER;
 
2.更改列类型,不改列名
        保留old和new的列名,即使一样。
     ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;
 
3.更改列类型,不改列名。
         不保留old列名。
     ALTER TABLE t1 MODIFY b BIGINT NOT NULL;
注意:
    < 1>.使用CHANGE或者MODIFY时,列的定义必须包含:数据的类型和应用到列上的属性,但不包括:索引,例如:  PRIMARY KEY or UNIQUE
         例如:  列的定义:INT UNSIGNED DEFAULT 1 COMMENT 'my column' 
            更改 :

    ALTER TABLE t1 MODIFY col1 BIGINT UNSIGNED DEFAULT 1 COMMENT 'my column';
     <2>.使用CHANGE或者MODIFY改变数据类型时,列的值也会尽可能转成对应的列类型。可能会丢失数据,最好,在使用ALTER table 之前设置;strict SQL mode
 
     <3>.增加指定位置的列,可以用FIRST,AFTER column_name,
 
     <4>.使用CHANGE,MODIFY缩短列的长度候,列长小于对应索引长度,索引会自动缩短。
 
 
4.更改列的默认值:ALTER TABLE tb_name ALTER column_name。
 
          CREATE TABLE test2(id INT ,NAME VARCHAR(4)); 在不指定默认值的情况下,建表之后:默认null。
          更改默认值:ALTER TABLE test2 ALTER name SET DEFAULT ''; 
          注意:更改默认值 只对更改之后,新插入的数据有效。表中以前的数据,是NULL还是NULL,是空还是空。
 
 

SQL-ALTER-change和modify区别的更多相关文章

  1. mysql 中alter语句中change跟modify的区别

    mysql 中alter语句中change和modify的区别可以使用CHANGE old_col_name column_definition子句对列进行重命名.重命名时,需给定旧的和新的列名称和列 ...

  2. MYSQL:alter语句中change和modify的区别

    您可以使用CHANGE old_col_namecolumn_definition子句对列进行重命名.重命名时,需给定旧的和新的列名称和列当前的类型.例如:要把一个INTEGER列的名称从a变更到b, ...

  3. MySQL:ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN

    ALTER COLUMN.MODIFY COLUMN 和 CHANGE COLUMN 语句修改列: ALTER COLUMN:改变.删除列的默认值(备注:列的默认值存储在 .frm 文件中). 这个语 ...

  4. MySQL中change与modify的用法与区别

    浅析MySQL中change与modify的区别   MySQL版本 show variables like 'version'; 表结构 desc student; 修改表 例如:修改表studen ...

  5. MySQL之 ALTER vs CHANGE vs MODIFY COLUMN

    1.ALTER COLUMN 用于设置或者移除某一列的默认(缺省)值, 1.1用法 ALTER TABLE MyTable ALTER COLUMN foo SET DEFAULT 'bar'; AL ...

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

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

  7. MySQL中ALTER ,CHANGE , MODIFY

    ALTER TABLE project_list CHANGE COLUMN descriptionofproj proj_desc VARCHAR(100), CHANGE COLUMN contr ...

  8. sql 中 ALTER 和 UPDATE 的区别

    alter 是DDL语句,是修改数据库中对象(表,数据库,视图..)的语句. 如需在表中添加列,请使用下面的语法: ALTER TABLE table_name ADD column_name dat ...

  9. 浅析MySQL中change与modify的区别

    MySQL版本 show variables like 'version'; 表结构 desc student; 修改表 例如:修改表student的name字段,将varchar(10)修改为var ...

随机推荐

  1. linux串口编程参数配置详解

    1.linux串口编程需要的头文件 #include <stdio.h>         //标准输入输出定义 #include <stdlib.h>        //标准函 ...

  2. iOS-本地沙盒路径

    沙盒几个路径: 沙盒里的文件夹包括Documents.Library.tmp.这三个文件夹的作用请点击这里.接下来我们来讲解如何获取Documents.Library.tmp的路径. 获取沙盒根目录 ...

  3. css3 box

    一.box-shadow介绍 box-shadow属性向box添加一个或多个阴影. 语法: box-shadow: offset-x offset-y blur spread color inset; ...

  4. python 之 多线程

    一.多线程(具体可参照博文多进程---->http://www.cnblogs.com/work115/p/5621789.html) 1.函数式实现多线程 2.类实现多线程 3.多线程之线程锁 ...

  5. [hihoCoder] KMP算法

    Each time we find a match, increase the global counter by 1. For KMP, algorithm, you may refer to th ...

  6. vue学习之旅:入门

    首先利用脚手架vue cli搭建vue环境 引入 vue <script src="https://unpkg.com/vue/dist/vue.js"></sc ...

  7. EXCEL自动导出HTML

    话说博主我以前总是为资料共享的问题发愁,刚才鼓捣了一下EXCEL.发现有个功能还是不错的'发布' 以OFFICE2013为标准吧. 点击文件--导出-- 更改文件类型---另存为--(网页)htm 点 ...

  8. IDEA 设置代码模板

    一.代码模板 参考: IntelliJ IDEA 使用(一)基本设置与类.方法模板设置 - 云 + 社区 - 腾讯云 文件代码模板的使用 - IntelliJ IDEA 使用教程 - 极客学院 Wik ...

  9. 调试SVO_edgelet

    感谢白巧克力亦唯心提供的SVO_edgelet代码,作者博客:https://blog.csdn.net/heyijia0327/article/details/61682150 程序地址: http ...

  10. 10分钟让你的站点也支持Markdown

    Markdown简介 Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.Markdown 的语法十分简单,常用的标记符号也不超过十个,这种相对于 ...