博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hello oracle II
阅读量:6805 次
发布时间:2019-06-26

本文共 1966 字,大约阅读时间需要 6 分钟。

索引

CREATE INDEX idx_person_nameage ON T_Person(FName,FAge)

Oracle 中的DROP INDEX语句不要求指定表名,只要指定索引名即可

DROP INDEX idx_person_name;

约束

非空约束

指定一个字段为空的方式就是在字段定义后增加 NOT NULL

惟一性约束

单字段唯一约束,复合字段唯一约束

如果希望一个字段在表中的值是唯一的,那么就可以将唯一约束设置到这个字段上,设置方式就是在字段定义后增加UNIQUE

CREATE TABLE T_Person (FNumber VARCHAR2(20)  UNIQUE, FName VARCHAR2(20),FAge NUMBER (10))

复合唯一约束是建立在多个字段上的约束,被约束的字段在不能同时重复

CREATE TABLE T_Person (FNumber VARCHAR2(20), FDepartmentNumber VARCHAR(20), FName VARCHAR2(20),FAge NUMBER (10), CONSTRAINT unic_dep_num UNIQUE(FNumber,FDepartmentNumber))

有时我们需要在已经创建好的数据表上添加新的唯一约束,这时就需要使用ALTER TABLE

ALTER TABLE T_Person ADD  CONSTRAINT unic_3 UNIQUE(FName, FAge)
ALTER TABLE T_Person DROP CONSTRAINT unic_1;

CHECK约束

CREATE TABLE T_Person ( FNumber VARCHAR2(20),FName VARCHAR2(20), FAge NUMBER (10) CHECK(FAge >0), FWorkYear NUMBER (10) CHECK(FWorkYear>0))

CHECK中可以用函数

CREATE TABLE T_Person ( FNumber VARCHAR2(20) CHECK (LENGTH(FNumber)>12), FName VARCHAR2(20), FAge NUMBER (10) CHECK(FAge >0), FWorkYear NUMBER (10) CHECK(FWorkYear>12))

如果希望CHECK子句中的条件语句中使用其他列,则必须在CREATE TABLe语句的末尾使用CONSTRAINT关键字定义它

CREATE TABLE T_Person ( FNumber VARCHAR2(20), FName VARCHAR2(20), FAge NUMBER (10), FWorkYear NUMBER (10) , CONSTRAINT ck_1 CHECK(FWorkYear< FAge))

主键约束

主键约束是UNIQUE约束和非空约束的组合。虽然一张表中可以有多个UNIQUE约束和非空约束,但是每个表中却只能有一个主键约束。

CREATE TABLE T_Person ( FNumber VARCHAR2(20) PRIMARY KEY, FName VARCHAR2(20),FAge NUMBER (10) )

复合主键

CREATE TABLE T_Person (FNumber VARCHAR2(20), FName VARCHAR2(20),FAge NUMBER (10) , CONSTRAINT pk_1 PRIMARY KEY(FNumber,FName))

外键约束

当一些信息在表中重复出现的时候,我们就要考虑要将它们提取到另外一张表中了,然后在源表中引用新创建的中的数据。

CREATE TABLE T_AUTHOR (   FId VARCHAR2(20) PRIMARY KEY,   FName VARCHAR2(100),   FAge NUMBER (10),   FEmail VARCHAR2(20) ); CREATE TABLE T_Book (   FId VARCHAR2(20) PRIMARY KEY,   FName VARCHAR2(100),   FPageCount NUMBER (10),   FAuthorId VARCHAR2(20) ,   FOREIGN KEY (FAuthorId) REFERENCES T_AUTHOR(FId) );

 

转载于:https://www.cnblogs.com/grep/archive/2012/05/30/2525893.html

你可能感兴趣的文章
idea springboot热部署无效问题
查看>>
ReentrantLock详解
查看>>
即时通讯之数字电视
查看>>
【C++实现有序子序列合并算法】
查看>>
防病毒插件更新失败!?
查看>>
HTTP的post和get总结
查看>>
CEPH Cache Tiering
查看>>
Oracle 11g新特性之--Server Result Cache
查看>>
Oracle中的ORA-01548: active rollback segment '_SYSSMU1$' found
查看>>
AngularJs $anchorScroll、$controller、$document
查看>>
Microsoft资源
查看>>
WordPress 永久链接或固定链接设置技巧
查看>>
数据结构之线性表
查看>>
在PPT中插入FLASH遇到的系列问题
查看>>
2015百度之星 下棋
查看>>
常用的CMD命令
查看>>
搭建网站必不可少的知识11
查看>>
python下的MySQLdb使用
查看>>
CCNP路由实验---4、配置EIGRP不等价均衡
查看>>
Fedora20下安装vim
查看>>