zoukankan      html  css  js  c++  java
  • SQL-ALTER-change和modify区别

     
    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,是空还是空。
     
     
  • 相关阅读:
    Mac 快速进入mysql命令行
    Vuex 的使用 State Mutation Getter Action
    Vuex状态管理
    路由模块化
    Vue中路由的嵌套
    Vue路由编程式导航以及hash模式
    Vue动态路由 Get传值
    Vue中的路由 以及默认路由跳转
    Vue非父子组件传值
    父组件主动获取子组件的数据和方法 和 子组件主动获取父组件的数据和方法
  • 原文地址:https://www.cnblogs.com/cuisi/p/6638858.html
Copyright © 2011-2022 走看看