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,是空还是空。
 
 

最新文章

  1. iOS-APP提交上架流程(新手必看!2016年3月1日最新版)
  2. HashMap原理分析
  3. CodeForces Round 196
  4. 替换linux下的rm命令,并对-rf进行判断
  5. ansible 变更内网服务器配置
  6. Cassandra目录
  7. A Tour of Go Slicing slices
  8. jdk配置环境变量(windows)
  9. 武道释义 &amp;#183; 零散
  10. 龙芯3A上V8的编译与测试
  11. JS判断用户连续输入
  12. 8636 跳格子(dfs+记忆化搜索)
  13. java中的各种流(老师的有道云笔记)
  14. Tomcat安装和目录简介
  15. centos6.x升级protobuf操作流程.
  16. APP案例分析
  17. poj 1741 树的点分治(入门)
  18. iOS NSCache缓存类的了解
  19. win server 2012 服务器不能ping通
  20. Java Code Examples for org.codehaus.jackson.map.DeserializationConfig 配置

热门文章

  1. JavaScript格式化日期输出
  2. .net webapi项目跨域问题及解决方案
  3. VMware虚拟机NAT(地址转换模式)
  4. 170210、JAVA中List、Map、Set的区别与选用
  5. ZOJ 3490 String Successor(模拟)
  6. gunicorn
  7. php5.4 的 php-fpm 的重启
  8. Web 编程中编码问题
  9. DOM 综合练习(一)
  10. 每隔10秒钟打印一个“Helloworld”