修改表结构及表的约束的添加和删除
-
增加新列,语法如下,注意通过新增新列可以对新列的名称数据类型缺省值约束指定,增加的新列总是位于最后,假如新列定义了默认值,则新列所有行自动填充默认值,对于所有数据的表,新增加的新列的值为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];当删除列时,列上的索引和约束条件被同时删除。但
-
增加约束条件 ,语法如下
--语法
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]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!