oracle 的约束,oracle如何操作约束

在创建表时设置非空约束:

CREATE TABLE table_name( column_name datatype NOT NULL)

在修改表时添加非空约束:

ALTER TABLE table_name MODIFY column_name datatype NOT NULL

在修改表时去除非空约束:

ALTER TABLE table_name MODIFY column_name dataypte NULL

主键约束:

作用:确保表种每一行数据的唯一性

在创建表时设置主键约束:

1) CREATE TABLE table_name(column_name dataype PRIMARY KEY)

2) CONSTRAINT constraint_name PRIMARY KEY(column_name1,..)

查看约束 SELECT constraint_name FROM USER_CONSTRAINTS WHERE table_name = ‘student‘

在修改表时添加主键约束:

ALTER TABLE student ADD CONSTRAINT constraint_name PRIMARY KEY(column_name1,...)

更改约束名称 :

ALTER TABLE student RENAME CONSTRAINT old_name to new_name

删除主键约束:

暂时不用:ALTER TABLE student DISABLE|ENABLE CONSTRAINT constraint_name

直接删除:1)ALTER TABLE student DROP CONSTRAINT constraint_name

2) ALTER TABLE student DROP PRIMARY KEY [CASCADE]

查看约束状态: SELECT CONSTRAINT_NAME,STATUS FROM USER_CONSTRAINTS WHERE table_name = ‘student‘

外键约束:

在创建表时设置外键约束:

1) CREATE TABLE table1 (column_name datatype REFERENCES table2(column_name))

条件: 主表table2中的字段必须是主键

主从表table1中的字段类型必须也主表table2中的字段类型一致

主从表table1中字段的值必须全部来自主表table2中相应的字段,或NULL值

2) CONSTRAINT constraint_name FOREIGN KEY(column_name ) REFERENCES table_name(column_name1) [ ON DELETE CASCADE] //级联删除 主表数据中的数据被删除时,从表中引用的字段的行数据也删除

在修改表时设置外键约束:

ALTER TALBLE student ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table2(column_name) [ ON DELETE CASCADE ]

删除外键约束:

暂时不用:ALTER TABLE student DISABLE | ENABLE CONSTRAINT constraint_name

直接删除:ALTER TABLE student DROP CONSTRAINT constrain_name

唯一约束:

主键约束与唯一性约束的区别:

主键字段值必须为非空,唯一性约束允许有一个空值

主键约束在每张表中只能有一个,唯一性约束在每张表中可以有多个

在创建表时设置唯一性约束:

1) CREATE TABLE table_name (column_name datatype UNIQUE,...)

2) CONSTRAINT constraint_name UNIQUE(column_name) //该语句只能设置一个字段,要想设置其他字段必须新创建唯一性约束

在修改表时设施唯一性约束:

ALTER TABLE student CONSTRAINT constraint_name UNIQUE(column_name)

删除唯一性约束:

暂时禁用: ALTER TABLE student DISABLE |ENABLE CONSTRAINT constraint_name

直接删除: ALTER TABLE student DORP CONSTRAINT constraint_name

检查约束:

作用:让表中的值更有实际意义

在创建表时设置检查约束:

1) CREATE TALBE table_name (column_name datatype CHECK(money > 0))

2) CONSTRAINT constraint_name CHECK(money > 0)

在修改表时设置检查约束:

ALTER TABLE student ADD CONSTRAINT constraint_name CHECK(money > 0)

删除检查约束:

暂时禁用: ALTER TABLE student DISABLE | ENABLE CONSTRAINT constrain_name

直接删除: ALTER TABLE student DROP CONSTRIAN constraint_name

其他知识点:

数据类型:

字符型:

CHAR(n):固定长度 , MAX :2000

NCHAR(n):固定长度,按照Unicode格式存放数据的,用于存放汉字,MAX:1000

VARCHAR2(n):可变长度, MAX : 4000

NVARCHAR2(n): 可变长度,按照Unicode格式存放数据的 MAX: 2000

数值型:

NUMBER(p,s):p->有效数字 ; s > 0 小数后的位数 s < 0 最大有效数字到小数点的位数

FLOAT(n) :用来存放二进制数据的,能够表示二进制的1~126位 ,若要若要转换成十进制 则需要乘以 0.30103

日期型:

DATA: 精确到秒(常用)

TIMESTAMP:精确到小数秒

其他类型:

BLOB: MAX : 4G 以二进制格式存放

CLOB: MAX : 4G 以字符串格式存放

给表改名:

rename old_name to new_name

清空表:

TRUNCATE TABLE table_name

日期字段:

regdate date default sysdate

修改表字段:

ALTER TABLE table_name modify email default ‘无‘;

复制表数据:

创建表时复制:

CREATE TABLE table_new AS SELECT column1,...|* FROM table_old

eg. CREATE TABLE TEST007 AS SELECT * FROM STUDENT;

在添加数据是复制:

INSET INTO table_new [(column1,...)] SELECT column1,...|* FROM table_old;

eg. INSERT INTO STUDENT (ID,NAME) SELECT ID,NAME FROM TEST007;

INSERT INTO STUDENT SELECT * FROM TEST007;

oracle如何操作约束

标签:time   key   固定   检查   oracle   unicode   ima   tab   小数

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:http://www.cnblogs.com/xxyfhjl/p/6415625.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值