修改表结构
-
增加新列,语法如下,注意通过新增新列可以对新列的名称数据类型缺省值约束指定,增加的新列总是位于最后,假如新列定义了默认值,则新列所有行自动填充默认值,对于所有数据的表,新增加的新列的值为null,所有有数据的表,新增新列不能指定为not null约束条件
alter table 表名 add 列名 数据类型 [default 表达式] [ conlumn constraint ];
--增加多列
alter table 表名 add (列名 数据类型 [defaulet 表达式] [column constraint]...);
-
修改列,语法如下
alter table 表名 modify 列名 数据类型 [default 表达式] [column constraint];
---如果对表同时修改多列
alter table 表名 modify (列名 数据类型 [default 表达式][column constraint].....);其中列名是修改列的标识,不能修改,如果要改变表的列名,只能先删除,再增加。其他部分都可以修改,如果没有给出新的定义标识该部分数据不变化。
注意:1)列的宽带可以增加或减小,在表的列没数据或者数据为NULL时才能减小宽度。
2)在表的列没数据或者数据为NULL时才能改变数据类型。varchar2和char之间可以随意转换。
3)只有当列的值非空时,才能增加约束条件 not null。
4)修改列的默认值,只影响以后插入的数据。
-
删除列 语法如下
alter table 表名 drop column 列名 [cascade constraint]
--如果对表同时修改多列
alter table 表名 drop (列名1,列名2) [cascade constraint];当删除列时,列上的索引和约束条件被同时删除。但如果列是多列的约束的一部分,则必须指定cascade constraint 才能删除约束条件
修改表约束的添加和删除
表约束指数据完整性和参照完整性,可以为表的增加表约束条件或者删除表约束条件。
-
增加约束条件 ,语法如下
--语法
alter table 表名 add constraint [约束名] 表级约束条件 (列名)
--eg:
alter table emp add constraint fk_deptno foreing key (depton) reference dept(deptno); -
删除约束 ,语法如下
--语法
alter table 表名 drop primary key|unique(列名)|constraint 约束名 [cascade]
标签:新列,删除,constraint,列名,添加,及表,表名,table,alter From: https://www.cnblogs.com/xjianbing/p/17547712.html