天天看点

MySQL、SQLServer、Oracle添加、修改、删除字段总结

一、MySQL

1、添加

添加单列:
    ALTER TABLE 表名 ADD 列名 数据类型
添加多列:
    ALTER TABLE 表名 ADD 列名 数据类型,Add 列名 数据类型

另外,在添加字段时,还可以指定位数(日期类型除外)、是否为空、默认值
例如:ALTER TABLE t_test ADD type TINYINT() NOT NULL DEFAULT ;
           

2、修改

修改单列数据类型:
    ALTER TABLE 表名 MODIFY COLUMN 列名 数据类型
同时修改多列数据类型:
    ALTER TABLE 表名 MODIFYCOLUMN 列名 数据类型,MODIFY COLUMN 列名 数据类型

另外,在修改字段时,也可以指定位数、是否为空、默认值
ALTER TABLE t_test MODIFY COLUMN type TINYINT() DEFAULT ;
           

在对字段进行修改时,注意下面几个问题:

  • 以前的字段如果有值为NULL,无法将字段修改为NOT NULL
  • 如果新的字段类型无法匹配所有的值,则无法将字段修改为新的类型
  • 默认值可以随便更改,但是修改后的默认值只对以后添加的记录有效,对以前的记录无效

3、删除

删除单列:
    ALTER TABLE 表名 DROP COLUMN 列名
删除多列:
    ALTER TABLE 表名 DROP COLUMN 列名,DROP COLUMN 列名
           

4、同时添加和修改多列

ALTER TABLE 表名 ADD 列名 数据类型,MODIFY COLUMN 列名 数据类型,DROP COLUMN 列名
    (COLUMN 关键字可以省略)
           

二、SQLServer(Transact-SQL)

1、添加

添加单列:
    ALTER TABLE 表名 ADD 列名 数据类型
添加多列:
    ALTER TABLE 表名 ADD 列名 数据类型,列名 数据类型
           

2、修改

修改单列数据类型:
    ALTER TABLE 表名 ALTER COLUMN 列名 数据类型
同时修改多列数据类型:
        不支持
           

3、删除

删除单列:
    ALTER TABLE 表名 DROP COLUMN 列名
删除多列:
    ALTER TABLE 表名 DROP COLUMN 列名,列名
           

4、同时添加和修改多列:  

不支持,每次只能进行一种操作.
           

三、Oracle(PL/SQL)

1、添加

添加单列:
    ALTER TABLE 表名 ADD 列名 数据类型
添加多列:
    ALTER TABLE 表名 ADD ( 列名 数据类型,列名 数据类型)
           

2、修改

修改单列数据类型:
    ALTER TABLE 表名 MODIFY 列名 数据类型
同时修改多列数据类型:
    ALTER TABLE 表名 MODIFY ( 列名 数据类型,列名 数据类型)
           

3、删除

删除单列:
    ALTER TABLE 表名 DROP COLUMN 列名
删除多列:
    ALTER TABLE 表名 DROP (列名,列名)
           

4、同时添加和修改多列: