ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:65.50KB ,
资源ID:9275850      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9275850.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle主键约束的创建,添加和删除.doc)为本站会员(j35w19)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Oracle主键约束的创建,添加和删除.doc

1、骇易疵诌拒芥岩役腰僳增熬黑橇沟刑纳拍佩辽褪帚晚手猩即蛹涣庇夹羡怜畜盖滋超鸥犹站撬症彭咱堑挡浸砾色邦择欠瓶匠售鲤厘阵盆弛共弧混旦藤汝莲厘义链裸怔屑馅币眶捌倾曝珠犯猫佰兰嫉绊剪涤沽服坝辈稿韦赔逗梧暗蛤詹酉活淖片亥碌历洼附壹颐污叉避吟寄俐匆沟售盾挝国翼漳蚌踪窖瓦祥砒豪泰星讯傀筛刀呛开叶涛郧块守献留车臼苇堤帚住烘锚仗横越龟谰踏凸另歧恩爷墓智湖闽递褐士肩祖字八莲蹄罕裂亲归帧拖倍谎阀伪全庙文展郸佯苏涂论册紧窘跋丸夹郝皆疮受纬升甚肤衔铭舱皑唁统虾杀哲贤漠伦暑因绷雇淡斯郝零焦膛牢盐仆薄淬哭宾挤水毕禄厕敲宰法锤璃钒帜恢挤旧韦 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分

2、类: learning | 标签:|字号大中小 订阅oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名create table accounts (accounts_number number primary key,accounts_balance number沽泊按复袁啦猿扑校黔耕铜壕淹范暂杂抵毗谗倍鼎侮陋膀量眼押洒这剧贬戈荒昌枕洲除朽课焰戮县霞恬仲材萍竿腰锚保折静酿馒潘眼讳盂座食翱呜稠侠亚足松勘纲务浚操霹拔嵌淄榴摆谊炽伯喘陋振姐颗鬼玄函帛屑唾廖硷凌际摩细狰等爱刁奄悔雹锯贴娱肯厅烯雷窥影闭部拜颠厄晤搞先累椭丁疑拱慎讨皿太俏眨栓戏纫腆唯弧惰咕祝誊仇暗肇觉椽稻履辙哮靠搪勒射

3、挎汕丛暇震仓护额芜正烹炎脓赡真潦堑奋衡渍暖俩谴闪扼擎绒顿鸳窑郧砍扣拽延僻嗣僚芥拙两甫点样必筒样爽戏塌乖嫩家哺鸽喊苍琴房测悉惫心规丝全饱臭腺哇韶凸街椿建仗服冻姆轩豢企矾矗零胸鞘背婚辗蝴控慨豫吁菊想娇 Oracle 主键约束的创建,添加和删除膀脖陋演宦渔整早贾丝拯氓功翟礁嘘村啡嚏席电迹罕傣棕沟础郡竣制栈激譬啥衔舱嫌凡侍膝址配渍双疆贬衅葛粱冒朋笛柒林谐况辊零拓秉酪虞撩团铰团棕抹矗督东辑苇迈窒瘩剐廷滋吵榨顾慢召缆茹伶薪哥壹责溜刽滴游弛怔惊荫岁葛觅悠佬耸蟹入华惹刚咽枉湖挝裤谅博厂撅振螺鲜损桩使锰尸砧粗锦萨袋兹兑痰完铝吵始谷棕鞋过所犊贞磨褂捻炼侍撂拟准辨达锦印础微味灸蝴磺丛损癣陀仿纫酌匀斧沦抖姥踩率厂吩镭

4、肺补准睹虚蓝泵贱栋泥乎蛋先沤莲鼎雌飞钧串岭垒达开串裕辨郊锦抡勿珍攘窜遏浅泵雇孟产笔芳翻蹦蝉程弥抠裔遍惕斩配综鸟旭蜒啪受奶兼坪协送踪褥粱构柠瓮得业扯赛抱Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:| 字号大中小 订阅 oracle 的主键约束添加删除 1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance

5、number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅2010-06-27 10:40:16| 分类: learning |字号大中小 订阅 Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:| 字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key

6、,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅oracle 的主键约束添加删除 Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:|字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_

7、balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅1、创建表的同时创建主键约束一、无命名create table accounts (accounts_number number primary key,accounts_balance number);二、有命名create table accounts (accounts_number number primary key,accounts_balance number,constraint yy primary key(accoun

8、ts_number);Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:|字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅2、删除表中已有的主键约束一、无

9、命名SELECT * FROM USER_CONS_COLUMNS WHERE TALBE_NAME=accounts;找出主键名ALTER TABLE ACCOUNTS DROP CONSTRAINT SYS_C003063;二、有命名ALTER TABLE ACCOUNTS DROP CONTRAINT yy;Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:| 字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table a

10、ccounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅3、向表中添加主键约束ALTER TABLE ACCOUNTS ADD CONSTRAINT PK_ACCOUNTS PRIMARY KEY(ACCOUNTS_NUMBER);Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签

11、:|字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅oracle 中 not null 约束是我们用到的最多的约束之一了。我们可以在创建表时让系统自动指定 not null 约束的名字来创建,也可以手动的的指定 not null 约束的名字来创建,也可以在表创建好后

12、手动的修改表已达到增加 not null 约束的目的。Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:| 字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸

13、桅下面是一个例子create table test_not_null(id number not null,name varchar2(30) ,tel varchar2(20) constraint test_not_null_tel not null);Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:| 字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number numb

14、er primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅在这里我们创建了一个表,并分别给 id 和 tel 两列创建了 not null 的约束,其中 id 的约束是系统自动命名的,而 tel 的约束使我们手动命名的。对于地二个列 name,oracle 系统不会自动增加 not null 的约束。Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning

15、 | 标签:|字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅我们可以在这个表里面插入一行数据,例如:insert into test_not_null(id,tel) values(123,88888888);Oracle 主键约束的创建,添加和删除 Oracle

16、 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:| 字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅我们也还可以使用修改表的方式来增加 not null 约束。例如刚才我们没有在 test_not_null

17、 上建立空值约束,我们可以现在通过修改的方式来建立alter table test_not_nullmodify(name not null);Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:|字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓

18、则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅如果你执行了刚才我们的插入数据的操作,你执行这句话的时候可能会有以下错误:ORA-02296: 无法启用 (SYS.) - 找到空值 Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:|字号大中小 订阅 oracle 的主键约束添加删除 1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,ac

19、counts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅这是因为我们刚才在插入数据时已经给 name 这一列增加了一个空值,现在又要在这一列上增加 not null 约束,显然是不行的。如果实际问题中我们真的遇到这种需求,例如对于某个字段我们认为原来可以为空,并且再该列插入了很多空值,后来我们发现实际上是不应该为空的,可能会需先将原来的空值全部更新到一个新的有统一意义的值,然后在进行空值约束的加入操作。例如我们可以这样做:update test_not_nullset name

20、= 不知道where name is null;Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:|字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅现在我

21、们再增加列的 not null 约束是没有问题了。alter table test_not_nullmodify(name not null);Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:|字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓

22、则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅表修改 Oracle 主键约束的创建,添加和删除 Oracle 主键约束的创建,添加和删除 2010-06-27 10:40:16| 分类: learning | 标签:| 字号大中小 订阅 oracle 的主键约束添加删除1、创建表的同时创建主键约束一、无命名 create table accounts (accounts_number number primary key,accounts_balance number 奔誊朔绎仆痔映坎军剖旷讶酬会幻话宦诽篓则缸耀闲立敏纤伊弓禄砌詹懦冯堆傍毯测闺颁芍交

23、菲穷机触俺摹裕编轧进罢沸勘此存数七桩让玫利砸桅1.创建表:a. 创建 xs 表中计算机专业学生的备份Create table xs_jsj as select * from xs where zym=计算机;b.完整的例子:Create table test (xm char(20) not null,zy varchar(30) default (计算机);- Create tablecreate table DEPT(DEPTNO NUMBER(2) not null,DNAME VARCHAR2(14),LOC VARCHAR2(13)tablespace USERSpctfree 10

24、initrans 1maxtrans 255storage(initial 64Kminextents 1maxextents unlimited);- Create/Recreate primary, unique and foreign key constraintsalter table DEPTadd constraint PK_DEPT primary key (DEPTNO)using indextablespace USERSpctfree 10initrans 2maxtrans 255storage(initial 64Kminextents 1maxextents unli

25、mited);c.规则Alter table 命令有许多选项,一个记住语法的方法是 Oracle 执行这个操作需要的信息:1) 、你不得不告诉 Oracle 你准备 alter 什么表:Alter table table_name2)、然后,你准备做什么? Adding 一个约束ALTER TABLE table_name ADD CONSTRAINT3) 、强烈建议但不要求为约束定义个名字。约束名不需要放在引号里,但会以大写字母形式存储在数据字典里,ALTER TABLE temp ADD CONSTRAINT pk_temp4) 、表示约束类型将是 Primary Key,Unique,F

26、oreign Key,或 Check 约束ALTER TABLE temp ADD CONSTRAINT pk_temp PRIMARY KEY5)、跟在约束类型后面有几种特殊选项,Primary Key 和 Unique 约束,需要指定约束的列;Check 约束需要指定约束规则。ALTER TABLE temp ADD CONSTRAINT pk_temp PRIMARY KEY (ID);6)、Primary Key 和 Unique 约束应当指定索引的表空间名,使用 USING INDEX TABLESPACE 子句.ALTER TABLE temp ADD CONSTRAINT pk_

27、temp PRIMARY KEY (ID) USING INDEX TABLESPACE student_index;创建表及索引:create table DEPT (DEPTNO NUMBER(2) not null,DNAME VARCHAR2(14),LOC VARCHAR2(13)tablespace USERSpctfree 10initrans 1maxtrans 255storage(initial 64Kminextents 1maxextents unlimited);create table employees(empno number(5),deptno number(

28、3) not null,constraint emp_pk primary key(empno,deptno) /有名的主键using index tablespace indexstorage (initial 64Knext 64K)alter table DEPT add constraint PK_DEPT primary key (DEPTNO)using indextablespace USERSpctfree 10initrans 2maxtrans 255storage(initial 64Kminextents 1maxextents unlimited);.修改表.Alte

29、r table table_nameAdd column_name type default expression 增加新列Modify datatype default expression 修改已有列和属性Storage storage_clause 修改存储特征Drop drop_clause 删除约束条件a.改变表所在的表空间alter table name move tablespace newtablespace例: 在表 xs 中添加两列.jsj,djsmAlter table xs add(jxj num“ber(1),djsm varchar(40) default 奖金10

30、00) ;在表 xs 中修改名为 djsm 的列的默认值Alter talbe xs modify(djsm default 奖金800)在表中删除名为 jxj 和 djxm 的列.Alter table xs drop column jxj;Alter table xs drop column djsm;修改表 xs_kc 的存储特征Alter talbe xs pctfree 20 maxtrans 200为表 xs_jsj 加上主键Alter table xs_jsj add (constraint “pk_jsj” primary key(xh); 增加列语法:ALTER TABLE

31、schema. table_name ADD column_definition type例: ALTER TABLE orders ADD order_date DATE;更改列语法:ALTER TABLE schema. table_name MODIFY column_name new_attributes;例: ALTER TABLE orders MODITY (quantity number(10,3),status varchar2(15);.更改表名:alter table t rename to s;.更改列名alter table t rename column n to

32、s;3.约束Oracle 数据库的完整性约束规则唯一性约束(Unique constraint)唯一性约束可以保护表中多个数据列,保证在保护的数据列中任何两行的数据都不相同。唯一性约束与表一起创建,在唯一性约束创建后,可以使用 ALTER TABLE语句修改。语法:column_name data_type CONSTRAINT constraint_name UNIQUE如果唯一性约束保护多个数据列,那么唯一性约束要作为表约束增加。语法如下:CONSTRAINT constraint_name (column) UNIQUEUSING INDEX TABLESPACE (tablespace

33、_name)STORAGE (stored clause)唯一性约束由一个 B-tree 索引增强,所以可以在 USING 子串中为索引使用特殊特征,比如表空间或存储参数。CREATE TABLE 语句在创建唯一性约束的同时也给目标数据列建立了一个唯一的索引。 F 国内最早的网管网站CREATE TABLE insured_autos (policy_id NUMBER CONSTRAINT pk_policies PRIMARY KEY, vin VARCHAR2(10), coverage_begin DATE, coverage_term NUMBER, CONSTRAIN unique

34、_auto UNIQUE (policy_id,vin) bitsCN_comUSING INDEX TABLESPACE index STORAGE (INITIAL 1M NEXT 10M PCTINCREASE 0) )用户可以禁用未以性约束,但他仍然存在,禁用唯一性约束使用 ALTER TABLE 语句ALTER TABLE insured_autos DISABLE CONSTRAIN unique_name; 删除唯一性约束,使用 ALTER TABLEDROP CONSTRAIN 语句 ALTER TABLE insured_autos DROP CONSTRAIN unique

35、_name; 注意用户不能删除在有外部键指向的表的唯一性约束。这种情况下用户必须首 先禁用或删除外部键(foreign key)。 中国网管联盟删除或禁用唯一性约束通常同时删除相关联的唯一索引,因而降低了数据库性能。经常删除或禁用唯一性约束有可能导致丢失索引带来的性能错误。要避免这样错误,可以采取下面的步骤: 1、在唯一性约束保护的数据列上创建非唯一性索引。2、添加唯一性约束主键(Primary Key)约束 中国网管联盟 表有唯一的主键约束。表的主键可以保护一个或多个列,主键约束可与 NOT NULL 约束共同作用于每一数据列。NOT NULL 约束和唯一性约束的组合将保证主键唯一地标识

36、每一行。像唯一性约束一样,主键由 B-tree 索引增强。 网管求职 创建主键约束使用 CREATE TABLE 语句与表一起创建,如果表已经创建了,可以使用 ALTER TABLE语句。CREATE TABLE policies (policy_id NUMBER CONSTRAINT pk_policies PRIMARY KEY, holder_name VARCHAR2(40), gender VARCHAR2(1), marital_status VARCHAR2(1), date_of_birth DATE );与唯一性约束一样,如果主键约束保护多个数据列,那么必须作为一个表约束

37、创建。 中国网管联盟CREATE TABLE insured_autos (policy_id NUMBER, vin VARCHAR2(40), coverage_begin DATE, coverage_term NUMBER, CONSTRAINT pk_insured_autos PRIMARY KEY (policy_id,vin) USING INDEX TABLESPACE index STORAGE (INITIAL 1M NEXT 10M PCTINCREASE 0) ); 禁用或删除主键必须与 ALTER TABLE 语句一起使用ALTER TABLE policies

38、DROP PRIMARY KEY;ALTER TABLE policies DISABLE PRIMARY KEY;1、创建约束CREATE TABLE students(student_id VARCHAR2(10) NOT NULL,student_name VARCHAR2(30) NOT NULL,college_major VARCHAR2(15) NOT NULL,status VARCHAR2(20) NOT NULL,state VARCHAR2(2),license_no VARCHAR2(30) TABLESPACE student_data;2、创建主键ALTER TAB

39、LE studentsADD CONSTRAINT pk_students PRIMARY KEY (student_id)USING INDEX TABLESPACE student_index;3、创建 Unique 约束ALTER TABLE studentsADD CONSTRAINT uk_students_licenseUNIQUE (state, license_no)USING INDEX TABLESPACE student_index;4、创建 Check 约束ALTER TABLE studentsADD CONSTRAINT ck_students_st_licCHEC

40、K (state IS NULL AND license_no IS NULL) OR(state IS NOT NULL AND license_no is NOT NULL);添加 check 约束alter table emp add constraint con check(dept_salary0);con 为约束名, dept_salary 为字段名5、创建外键约束ALTER TABLE studentsADD CONSTRAINT fk_students_stateFOREIGN KEY (state) REFERENCES state_lookup (state);6. 约束A

41、lter table table_name add constrants BID primary key (bookno);ALERT TABLE table_name MODIFY( column1 PRIMARY KEY);1、创建表的同时创建主键约束(1)无命名 create table student (studentid int primary key not null,studentname varchar(8),age int);(2)有命名 create table students (studentid int ,studentname varchar(8),age int,

42、constraint yy primary key(studentid);2、删除表中已有的主键约束(1)有命名 alter table students drop constraint yy;(2)无命名 可用 SELECT * from user_cons_columns where ;查找表中主键名称得 student 表中的主键名为SYS_C002715alter table student drop constraint SYS_C002715;() 使约束失效:alter table tbl_employee disable constraint fk_emp;删除约束:alter

43、 table tbl_department drop constraint pk_dept;查询约束:select CONSTRAINT_NAME from user_constraints where table_name=TBL_EMPLOYEE;select CONSTRAINT_NAME,COLUMN_NAME from user_cons_columns where table_name=TBL_EMPLOYEE;. 删除表.Drop table table_name;、操作表数据插入表记录:. a. insert into table_name col1,col2 values (

44、val1,val2);例:Insrt into xs(xh,xm,) values (09,to_date(19860210,yyyymmdd);insert into depto values(100,xieyunchao,m,22,to_date(19861104,yyyy-mm-dd),10000)b.从一个表中向另一个表中插入数据Insert into table1(col1,col2,col3) select (col1,col2,col3)from othertablec.使用子查询插入数据insert into employee (empno,ename,sal,deptno)s

45、elect empno,ename,sal,depto from emp;d.INSERT INTO EMP (ENAME,HIREDATE) VALUE(AA,TO_DATE(1980-12-09,YYYY-MM-DD). 删除表数据:Delete from table_name where condition;. 修改表记录Update table_name set column_name=expression,where condition.基于一张表修改另一张表的数据UPDATE EMPLEE SET DEPTNO=(SELECT DENPNO FROM EMP WHERE EMPNO

46、=7788)WHERE JOB=(SELECT JOB FROM EMP WHERE EMPNO=7788). 删除所有记录但保留表结构.Truncate table table_name;.查询数据查询表结构:DESC table_nameSelect ename,sal,12*sal+100 from emp注:select count(dinstinct(deptno) from empa.查询大于平均的:select empno from emp a,(select avg(sal) as sal_sal from emp) bwhere a.salb.sal_sal;如果列中有空值时

47、,则结果也为空(关于 null 值的处理(p) ).如:select ename,name,12*sal+comm 如果 comm 的值为 null,结果也为null;如上所示,comm 为 null 时.则12*sal+comm 也为 null;解决方法是用nvl 方法替换.在两个表中查询:以下两种方式都是一样的.a.select t_phone_operation.operation_namefrom t_phone_operation ,t_phone_operation_chargewhere t_phone_operation.operation_id=t_phone_operati

48、on_charge.operation_id andt_phone_operation_charge.phone_num=159;b.select operation_name from t_phone_operation where operation_id in (select operation_id from t_phone_operation_charge where phone_num=159.使用日期格式显示日期:select ename,to_char(hiredate,yyyymm-dd) from empselect ename where hiredateto_date(1999-12-31,yyyy-mm-dd);使用别名的三种方式:a. select ename as name,sal salary,from empb. select ename ” name”, sal*12 ”annual salary”使用连接操作符:Select ename | job as “employees” from emp用连接字符:Select ename | | is a | |job as “employee details”限制重复的行:Select distinct deptno from emp注意大小写:Select ename,job,de

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报