oracle建表唯一约束语句,oracle 详细建表语句
1.创建一张表格
create table test(id number,name varchar2(20),class_name varchar2(20));
1.1创建表格的时候直接创建主外键
create table test(id number primary key,name varchar2(20) constraint t_fk references table_name(column_name));
create table test(id number,name varchar2(20)
constraint pk primary key(id),
constraint fk foreign key(id) references 关联表(关联表主键);
--增加主键
alter table test add constraint constraint_name primary key(column_name);
--增加外键
alter table test add constraint constraint_name foreign key(column_name) references 关联表(column_name);--这里需要注意一个表的外键必须是另一个表的主键
--增加唯一索引
create unique index index_name on table_name(column_name);
--修改列的属性
alter table test modify column_name varchar2(10);--如果以前column_name varchar2(20);
--修改表的名称
rename table_name to table_name;
--为列设定默认值
alter table test modify name varchar2(20) default 'hello');--这个不会影响已经插入的数据只会对新数据造成影响
create table test (id number default 2);
--增加check
alter table test add constraint ck check ((id>20) and (id <30));
alter table test add constraint ck check(name in ('hello','world');
--unique
alter table test add constraint cuq unique(id);
--修改列的默认值
alter table test modify id default sysdate+1;
--添加列
alter table test add class varchar2(20);
alter table test add user varchar2(20) unique not null;
--删除列
alter table test drop column class;
--对表添加注释
commont on table test is '测试表';
--对列添加注释
commont on column table.id is '主键';
--删除表
drop table test;
--清除表的数据
truncate table test;
delete from test;
truncate操作与delete操作对比区别
操作
回滚
高水线
空间
效率
Truncate
不能
下降
回收
快
delete
可以
不变
不回收
慢
也就是说我们delete掉一个表格时其表格所占用的表空间时不会释放的。
--禁用约束
alter table test disable constraint constraint_name;
--启用约束
alter table test enable constraint constraint_name;
--延迟约束
alter table test drop constraint constraint_name;
alter table test add constraint constraint_name foreign key(id) references table_name(column_name)deferrable initially deferred;deferrable的两个选项区别
deferrable表示该约束是可延迟验证的.它有两个选项:
Initially immediate(默认):立即验证,执行完一个sql后就进行验证;
Initially deferred:延迟验证,当事务提交时或调用set constraint[s] immediate语句时才验证.
区别是:事务提交时验证不通过,则立即回滚事务; set constraint[s] immediate时只验证,不回滚事务.
notdeferrable与deferrable区别
区别就在于: “立即验证的可延迟约束”是可以根据需要设置成“延迟验证的可延迟约束”的,而“不可延迟验证”是不能改变的.
最后我们如果想查看我们对test表格建立了那些约束以及约束所对应的列
可以通过查看user_constraints and user_cons_columns;
oracle建表唯一约束语句,oracle 详细建表语句相关推荐
- oracle建表唯一约束语句,Oracle建表语句是什么
Oracle建表语句是什么 oracle数据库的建表语句,具体语法如下:CREATE TABLE tablename( column_name datatype [null,not null], co ...
- oracle唯一约束null,Oracle外键约束中NULL的处理
Oracle的NULL一直是一个有趣的话题,只要存在NULL,就可能会出现意想不到的结果.Oracle在外键中处理NULL约束,采用的方法就和处理唯一约束中明显不同. 前面写过一篇文章,介绍过唯一约束 ...
- mysql 输出参数 sql语句_MySQL: 详细的sql语句
1添 1.1[插入单行] insert [into] (列名) values (列值) 例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男',' ...
- oracle 对两列加唯一性束_Oracle唯一约束
在本教程中,您将学习如何使用Oracle唯一约束来确保包含在一列或几列中的数据在表中的行之间是唯一的. Oracle唯一约束语法 一个唯一的约束是一个完整性约束,它确保存储在一列或一组列中的数据在表中 ...
- oracle 唯一递增列,在oracle中创建unique唯一约束(单列和多列)
oracle中的unique约束是用来保证表中的某一类,或者表中的某一类组合起来不重复的一种手段. 我们在可以在创建表时或者创建好后通过修改表的方式来创建oracle中的unique约束. 下面是一些 ...
- oracle 对两列加唯一性束_oracle中创建unique唯一约束(单列和多列) 。
oracle中的unique约束是用来保证表中的某一类,或者表中的某一类组合起来不重复的一种手段.我们在可以在创建表时或者创建好后通过修改表的方式来创建oracle中的unique约束. 下面是一些创 ...
- oracle一列有多个约束,在oracle中创建unique唯一约束(单列和多列)
oracle中的unique约束是用来保证表中的某一类,或者表中的某一类组合起来不重复的一种手段. 我们在可以在创建表时或者创建好后通过修改表的方式来创建oracle中的unique约束. 下面是一些 ...
- [Oracle]如何获取指定表的约束类型(user_constraints 和user_cons_columns的联系使用)
目录 user_constraints user_cons_columns 获取指定表的约束类型 user_constraints user_constraints表描述了当前用户的所拥有的表的所有约 ...
- oracle 主键约束复制,Oracle主键及约束
Oracle主键Primary Key包含非空约束及唯一约束. 添加主键的语句 alter table table_nameadd constraint cons_name primary key(c ...
- Mysql学习笔记--多表之间约束等详细记录
sql 进阶学习笔记-多表(二) 笔记(一)内容回顾 Mysql学习笔记(基础)基础sql语句详细记录 数据库的创建 : create database 数据库的名 character set 字 ...
最新文章
- 3.7 感知器-机器学习笔记-斯坦福吴恩达教授
- Java 8 - 06 Lambda 和方法引用实战
- java form 上传文件_form java springmvc怎么上传文件
- 设备树(device tree)学习笔记
- XenServer 6.5实战系列之三:Prepare for XenServer 6.5
- webcomponents安装了没有用_Web Components 入门实例教程
- BZOJ 3039: 玉蟾宫( 悬线法 )
- Vue之Vue.set动态新增对象属性
- vue——走马灯-类轮播图
- Windows下git安装及使用技巧
- 自学python能找到工作吗-学习完Python后真的能找到工作吗?老男孩Python培训班
- [转]unresolved external symbol _*
- CString和string的互相转换
- 网上阅卷系统php源码,又开源了,网上阅卷系统自动识别功能代码 | 学步园
- 基于VRML的虚拟校园漫游系统
- 基于Android的防疫信息管理系统源码【包调试运行】
- IP地址 A\B\C类
- 计算机网络之简单概念
- 物联网-云平台可靠性设计
- Android百度地图,绘制,覆盖物,导航,定位,细腻分解!