一、MySQL
1、添加
添加单列:
ALTER TABLE 表名 ADD 列名 数据类型
添加多列:
ALTER TABLE 表名 ADD 列名1 数据类型1,Add 列名2 数据类型2
另外,在添加字段时,还可以指定位数(日期类型除外)、是否为空、默认值
例如:ALTER TABLE t_test ADD type TINYINT(1) NOT NULL DEFAULT 0;
2、修改
修改单列数据类型:
ALTER TABLE 表名 MODIFY COLUMN 列名 数据类型
同时修改多列数据类型:
ALTER TABLE 表名 MODIFYCOLUMN 列名 数据类型,MODIFY COLUMN 列名 数据类型
另外,在修改字段时,也可以指定位数、是否为空、默认值
ALTER TABLE t_test MODIFY COLUMN type TINYINT(2) DEFAULT 1;
在对字段进行修改时,注意下面几个问题:
- 以前的字段如果有值为NULL,无法将字段修改为NOT NULL
- 如果新的字段类型无法匹配所有的值,则无法将字段修改为新的类型
- 默认值可以随便更改,但是修改后的默认值只对以后添加的记录有效,对以前的记录无效
3、删除
删除单列:
ALTER TABLE 表名 DROP COLUMN 列名
删除多列:
ALTER TABLE 表名 DROP COLUMN 列名1,DROP COLUMN 列名2
4、同时添加和修改多列
ALTER TABLE 表名 ADD 列名1 数据类型1,MODIFY COLUMN 列名 数据类型,DROP COLUMN 列名1
(COLUMN 关键字可以省略)
二、SQLServer(Transact-SQL)
1、添加
添加单列:
ALTER TABLE 表名 ADD 列名 数据类型
添加多列:
ALTER TABLE 表名 ADD 列名1 数据类型1,列名2 数据类型2
2、修改
修改单列数据类型:
ALTER TABLE 表名 ALTER COLUMN 列名 数据类型
同时修改多列数据类型:
不支持
3、删除
删除单列:
ALTER TABLE 表名 DROP COLUMN 列名
删除多列:
ALTER TABLE 表名 DROP COLUMN 列名1,列名2
4、同时添加和修改多列:
不支持,每次只能进行一种操作.
三、Oracle(PL/SQL)
1、添加
添加单列:
ALTER TABLE 表名 ADD 列名 数据类型
添加多列:
ALTER TABLE 表名 ADD ( 列名1 数据类型1,列名2 数据类型2)
2、修改
修改单列数据类型:
ALTER TABLE 表名 MODIFY 列名 数据类型
同时修改多列数据类型:
ALTER TABLE 表名 MODIFY ( 列名1 数据类型1,列名2 数据类型2)
3、删除
删除单列:
ALTER TABLE 表名 DROP COLUMN 列名
删除多列:
ALTER TABLE 表名 DROP (列名1,列名2)
4、同时添加和修改多列:
ALTER TABLE 表名 ADD ( 列名1 数据类型1,列名2 数据类型2) MODIFY ( 列名3 数据类型3,列名4 数据类型4)