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

    原文作者:sql
    原文地址: https://www.cnblogs.com/cuisi/p/6638858.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞