oracle_重点应用.doc_第1页
oracle_重点应用.doc_第2页
oracle_重点应用.doc_第3页
oracle_重点应用.doc_第4页
oracle_重点应用.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

样表:先创建下面三个表: (book表) (borrow表) (reader表)1)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。2)列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。4)查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。5)查找书名以”计算机”开头的所有图书和作者(WRITER)。6)检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。7)*查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。8)*找出李某所借所有图书的书名及借书日期(BORROW_DATE)。9)*无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。10)*找出借阅了一书的借书证号。11)找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期 。12)查询2006年7月以后没有借书的读者借书证号、姓名及单位。13)求”科学出版社”图书的最高单价、最低单价、平均单价。14)*求”信息系”当前借阅图书的读者人次数。15)求出各个出版社图书的最高价格、最低价格和总册数。16)分别找出各单位当前借阅图书的读者人数及所在单位。17)*找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。18)分别找出借书人次数多于1人次的单位及人次数。19)找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。20)查询经济系是否还清所有图书。如果已经还清,显示该系所有读者的姓名、所在单位和职称。附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK (BOOK_ID NUMBER(10),SORT VARCHAR2(10),BOOK_NAME VARCHAR2(50),WRITER VARCHAR2(10),OUTPUT VARCHAR2(50),PRICE NUMBER(3);创建READER:(读者表)CREATE TABLE READER (READER_ID NUMBER(3),COMPANY VARCHAR2(10),NAME VARCHAR2(10),SEX VARCHAR2(2),GRADE VARCHAR2(10),ADDR VARCHAR2(50);创建BORROW:(借阅表)CREATE TABLE BORROW (READER_ID NUMBER(3),BOOK_ID NUMBER(10),BORROW_DATE DATE);插入数据:BOOK表:insert into book values(445501,TP3/12,数据库导论,王强,科学出版社,17.90);insert into book values(445502,TP3/12,数据库导论,王强,科学出版社,17.90);insert into book values(445503,TP3/12,数据库导论,王强,科学出版社,17.90);insert into book values(332211,TP5/10,计算机基础,李伟,高等教育出版社,18.00);insert into book values(112266,TP3/12,FoxBASE,张三,电子工业出版社,23.60);insert into book values(665544,TS7/21,高等数学,刘明,高等教育出版社,20.00);insert into book values(114455,TR9/12,线性代数,孙业,北京大学出版社,20.80);insert into book values(113388,TR7/90,大学英语,胡玲,清华大学出版社,12.50);insert into book values(446601,TP4/13,数据库基础,马凌云,人民邮电出版社,22.50);insert into book values(446602,TP4/13,数据库基础,马凌云,人民邮电出版社,22.50);insert into book values(446603,TP4/13,数据库基础,马凌云,人民邮电出版社,22.50);insert into book values(449901,TP4/14,FoxPro大全,周虹,科学出版社,32.70);insert into book values(449902,TP4/14,FoxPro大全,周虹,科学出版社,32.70);insert into book values(118801,TP4/15,计算机网络,黄力钧,高等教育出版社,21.80);insert into book values(118802,TP4/15,计算机网络,黄力钧,高等教育出版社,21.80);READER表:insert into reader values(111,信息系,王维利,女,教授,1号楼424);insert into reader values(112,财会系,李 立,男,副教授,2号楼316);insert into reader values(113,经济系,张 三,男,讲师,3号楼105);insert into reader values(114,信息系,周华发,男,讲师,1号楼316);insert into reader values(115,信息系,赵正义,男,工程师,1号楼224);insert into reader values(116,信息系,李 明,男,副教授,1号楼318);insert into reader values(117,计算机系,李小峰,男,助教,1号楼214);insert into reader values(118,计算机系,许鹏飞,男,助工,1号楼216);insert into reader values(119,计算机系,刘大龙,男,教授,1号楼318);insert into reader values(120,国际贸易,李 雪,男,副教授,4号楼506);insert into reader values(121,国际贸易,李 爽,女,讲师,4号楼510);insert into reader values(122,国际贸易,王 纯,女,讲师,4号楼512);insert into reader values(123,财会系,沈小霞,女,助教,2号楼202);insert into reader values(124,财会系,朱 海,男,讲师,2号楼210);insert into reader values(125,财会系,马英明,男,副教授,2号楼212);BORROW表:insert into borrow values(112,445501,19-3月-2006);insert into borrow values(125,332211,12-2月-2006);insert into borrow values(111,445503,21-8月-2006);insert into borrow values(112,112266,14-3月-2006);insert into borrow values(114,665544,21-10月-2006);insert into borrow values(120,114455,02-11月-2006);insert into borrow values(120,118801,18-10月-2006);insert into borrow values(119,446603,12-11月-2006);insert into borrow values(112,449901,23-10月-2006);insert into borrow values(115,449902,21-8月-2006);insert into borrow values(118,118801,10-9月-2006);Order 排序:select *from book2 order by price;默认升序;select *from book2 order by price desc; 倒序联合查询union在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。例如: 查询1 UNION (查询2 UNION 查询3)防止重复 distinct用法例子:select distinct reader.reader_id,name,company from reader,borrow where borrow_date to_date(2006.10.1,yyyy.mm.dd) and reader.reader_id = borrow.reader_id模糊查询:例子: select name,company from reader where name like 李%;/找出姓李的;区间查询:where price 10 and price to_date(2006.9.30,yyyy.mm.dd);Order 排序:select *from book2 order by price;默认升序;select *from book2 order by price desc; 倒序联合查询union在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。例如: 查询1 UNION (查询2 UNION 查询3)防止重复 distinct用法例子:select distinct reader.reader_id,name,company from reader,borrow where borrow_date to_date(2006.10.1,yyyy.mm.dd) and reader.reader_id = borrow.reader_id将该用户下的表让别的用户使用(赋予它可以使用的权限)格式:grant 权限 on 表名 to 用户;update 表名 set 修改内容 where 条件;(更新内容的格式)delete from 表名 where 条件;(删除格式)insert into 表名 values(内容);(添加格式)select 字段 from 表名1,表名2 where 条件;(查看格式)(1)授权:grant 语法:grant 权限 on 对象名 to user(2)创建表空间create tablespace zylspace datafile d:zylspace.dbf size 100m autoextend on next 5m;创建临时表空间:create temporary tablespace zyltempspace tempfile d:zyltempspace.dbf size 100m autoextend on next 10m;(3)创建用户同时指定表空间:create user zyl identified by zyl default tablespace zylspace temporary tablespace zyltempspace;(4)查看用户名:Show user;(5)用户连接服务器:Connect/conn 用户名/密码;(6)将表空间使用权授予某个用户:Grant unlimited tablespace to 用户名;(7)创建角色:Create role 角色名;(8)删除角色:Drop role 角色名;(9)回收权限:Revoke 权限名或角色名 from 用户名;(10)修改表:1.编辑表的字段修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):语法:ALTER TABLE 表名 MODIFY(列名,数据类型);eg1:alter table skate_test modify (author number(10,0) )2.增加一个列语法:ALTER TABLE 表名 ADD(列名,数据类型);eg1:ALTER TABLE skate_test ADD(author NUMBER(38,0) not null);3.删除一个列语法:ALTER TABLE 表名 DROP COLUMN 列名;eg1:alter table skate_test drop column author(11)数据字典的使用总的数据字典名为dict ,可以通过查看dict查看有哪些数据字典表,然后再去相应的数据字典表里去查询(12)查看某个表的结构为:desc 表名(13)查看、修改数据库日期格式:查看:Select * from nls_session_parameters;查看nls_date_format字段修改数据库日期格式:alter session set nls_date_format=yyyy-mm-dd(14)distinct作用目标是行级别(15)对字段取别名的方法:(a):字段名 as 别名 (b)字段名 别名(16)对表取别名:表名 别名 。不可以使用as对表取别名(17)关于空值函数:a. NVL(参数1,参数2):参数1取字段名,参数2是一个新值,在参数1为空的情况下,将字段值设置为参数2的值B. NVL2(参数1,参数2,参数3):参数1取字段名,在参数1为空的情况下返回参数3的值,否则返回参数2的值。 C. NULLIF(参数1,参数2) 如果参数1和参数2相等,则返回空值。(18)group by 的使用A 在整个语句里都不可以使用字段名或者单行函数(除by后的字段名)B 可以使用组函数C group by 与having 子句结合使用,group by 不可以使用where代替having,其他时候也不可以使用having代替where(19)内连接:实现方式:1 select 字段名列表 from 表1,表2 where子句 如:select s.ename,s.job,s.sal,t.job,t.sal from emp s,emp t where s.ename=t.ename; 2 select 字段名列表 from 表1 inner join 表2 on 条件子句如:select s.ename,s.job,s.sal,t.job,t.sal from emp s inner join emp t on s.ename=t.ename;(三)锁 分为两种锁:行级锁和表级锁(20)表级锁:(1)行共享锁:a 可以多个用户同时加行共享锁 B 不允许多个用户同时修改操作相同的数据行 C 允许多个用户同时修改这张表中不同数据行D 加锁后如果某个用户正在修改某条数据,其他用户只能进行对该条数据进行查询,但是不能修改。(2)行排他锁 lock table 表名 i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论