oracle SQL语句怎么修改数据表的字段允许为空?
字段允许为空的语句为:alter table 表名 alter column 列名 类型长度 null。
数据库SQL语言的修改语句,可以用来修改基本表,其一般表示格式为:
ALTER TABLE<表名>[改变方式]
改变方式:
1、 加一个栏位: ADD "栏位 1" "栏位 1 资料种类"
2、删去一个栏位: DROP "栏位 1"
3、改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"
4、改变栏位的资料种类: MODIFY "栏位 1" "新资料种类"
扩展资料
如需在表中添加列,请使用下面的语法: ALTER TABLE table_name ADD column_name datatype
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):ALTER TABLE table_name DROP COLUMN column_name
要改变表中列的数据类型,请使用下面的语法:
SQL Server / MS Access:ALTER TABLE table_name ALTER COLUMN column_name datatype
My SQL / Oracle:ALTER TABLE table_name MODIFY COLUMN column_name datatype
Oracle 10G 之后版本:ALTER TABLE table_name MODIFY column_name datatype;
参考资料链接:百度百科-Alter语句
当该字段为空时,可直接修改:
alter table reportqymx modify shuifen null;
2.当待修改字段不为空时:
新增一列
把要改变的列的值转移过去并清空原列的值
改变列的数据类型
把值转移回来,并删除新增的列
alter table reportqymx add shuifen_temp number(10);
update reportqymx set shuifen_temp=shuifen;
alter table reportqymx modify shuifen null;
update reportqymx set shuifen=shuifen_temp;
alter table reportqymx drop column shuifen_temp;
如果表中有数据的话,你需要先增加一个字段,然后drop掉之前的字段,然后再将新字段名rename成之前的字段名
你要从新设置的话,只能修改字段属性了。