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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(Oracle数据库.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Oracle数据库.docx

1、Oracle数据库 一 、 SQL语句分为五类 2二 、 Oracle 常用字段类型 : 3三 、函数 5数字函数 5转换函数 6其它函数 7四、多表连接和子查询 8多表连接: 9五、数据操作与事务控制 11SQL语句分为五类 11六、数据库的主要对象 12七、Oracle 数据库开发应用程序 15用户管理 16 SQL :Structured Query Language :结构化查询语言。SQL分类(SELECT、DML、DDL、DCL、事务控制语句);RDBMS : 关系数据库管理系统用户 :Sys :超级管理员,权限最高;System :管理员;Scott :用户。Oracle卸载过程

2、 :_1、停止Oracle所有的服务;2、卸载所有Oracle所有产品,开始程序Oracle-Orahome10gOracle Installation ProductsUniversal Installer;3、运行regedit,选择HKEY_LOCAL_MACHINE SOFTWARE,删除所有ORACLE入口;4、运行regedit,选择HKEY_LOCAL_MACHINE SYSTEMCurrentContralSetService, 删除所有ORACLE入口;5、运行regedit,选择HKEY_LOCAL_MACHINE SYSTEMCurrentContralSetServic

3、eEventlogApplication, 删除所有ORACLE入口;6、删除Oracle目录;7、重启计算机(若有不可删除的,重启之后即可删除)。_一 、 SQL语句分为五类查询语句 :Select DML语句(数据操作语言) : Insert/Update/Delete/Merge DDL语句(数据定义语言) :create、alter、drop、truncate DCL语句(数据控制语言) :grant、revoke 事务控制语句 : commit、rollback、savepoint二 、 Oracle 常用字段类型 :Char(n) :定长字符串Varchar2(n) : 变长字符串

4、Number(m,p) : 数字类型Date : 日期类型1、创建表格CREATE TABLE student(st_class char(4), st_num char(10), st_name varchar2(4), st_sex char(2), st_age number(3,0)2、显示表格框架describe / desc student;3、插入数据INSERT INTO student(st_class, st_num, st_name, st_sex,st_age)VALUES(J02, 0245639,哈哈, 男, 15);4、显示所有数据select * from st

5、udent5、删除表格DROP TABLE student;6、连接符 | 和字段别名表示select first_name | last_name | 的工资是 : | salary 员工的工资 from employees7、去掉重复值select distinct department_id from employees8、筛选select first_name , last_name , salary from employeeswhere first_name = S; / where salary 1000; : 不等于between and 在某范围之内in(list) 字符串在

6、那个之间like(%、_)is not null; 是否为空 and ,or , not 。 连接关系,优先级 not and or ;在一定范围值内 :数字用 where salary between 2000 and 2300字符串用 where first_name IN (F);模糊查询 :where first_name like joan% where first_name like joan_ where department_id is null/not null满足两个条件,用AND连接,满足其中一个,用OR连接。 where department_id = 1and sal

7、ary 10009、排序 升序 : order by department_id asc (asc默认可以不写) 降序 :order by salary desc多种排序 :order by department_id asc, salary desc10、注释语句(-.) select * from student - 查找表中所有内容11、空指针:null。12、起别名 (1) select first_name AS “姓名” , last_name , salary from employees(2) select first_name AS 姓名 , last_name , sala

8、ry from employees(3) select first_name 姓名 , last_name , salary from employees13、重命名表格 :rename employees(旧表名) to employee(新表名);14、向表中增加字段 : alter table employees add( name varchar2(20) );15、从表中删除字段 :alter table employees drop(name);16、删除记录 :delete from employees where employee_id = 7;17、删除表中全部记录(清空表格

9、) :delete from employees;18、数据修改 : update salary set hightest_level = 4000 where grade_level = 5 19、修改字段属性 :alter table employee modify(department_id varchar2(30) not null) 三 、函数SQL函数分类 :单行函数,多行函数;单行函数分为 :字符函数、数字函数、日期函数、转换函数和其它函数;字符函数1、 大小写转换函数:lower upper initcap select first_name from employee whe

10、re lower(first_name) = jackyselect first_name from employee where upper(first_name) = JACKYselect first_name from employee where initcap(first_name) = Jacky2、 字符处理函数Concat :连接两个字符串select concat(last_name,first_name) from employeesubstr : 取出字符串的字符串 select first_name, substr(first_name, 1, 3) from emp

11、loyee length :求字符串长度 select first_name, length(first_name) from employee instr: 找到字符串的位置 select first_name, instr(first_name, c) from employee lpad | rpad :字符串填充补位函数 select first_name, lpad(first_name, 6, *) from employee trim( from first_name) :截取字符串两侧的字符(只能截取字符串两端的字符,不能截取中间的字符) ltrim(marry, ma), 截

12、取字符串左端的字符, 结果为 :ry,可以截取多个左端的字符; rtrim(marry, ry), 截取字符串右端的字符, 结果为 :ma,可以截取多个右端的字符; select first_name, ltrim(first_name, Ja) from employee select first_name, rtrim(first_name, cy) from employee replace :替换字符串 select first_name, replace(first_name, Ja, DD) from employee数字函数 Round :数字四舍五入 Select salary

13、,round(salary, 2),round(salary, 1),round(salary, 0),round(salary, -1),round(salary, -2) from employeewhere employee_id = 201001trunc:直接截掉数字select salary,trunc(salary, 2),trunc(salary, 1),trunc(salary, 0),trunc(salary, -1),trunc(salary, -2) from employeewhere employee_id = 201001 mod :求余数(取模) select

14、salary,mod(salary, 10) from employeewhere employee_id = 201001 日期函数 Sysdate :得到当前系统的时间(默认日期格式 :DD-MON月-YY) select sysdate dual; 日期加减一个数字得到一个新日期,即增加或减少多少天 select hire_date, hire_date + 10, hire_date -10 from employee 日期和日期之间不能相加,能够进行相减!相减得到两个日期相差的天数! Month_Between :比较日期之间相差的月份 select months_between(s

15、ysdate, hire_date)from employee add_months :日期加上或减去几个月 select hire_date, sysdate,add_months(hire_date, 5)from employeeselect hire_date, sysdate,add_months(hire_date, -5)from employee next_day :取得从当前时期开始遇到的第一个指代星期几的日期 select hire_date, sysdate,next_day(sysdate, 4) from employee last_day :指定日期所在月份最后一天

16、的日期 select hire_date, sysdate,last_day(sysdate)from employee round :取得按年或者月四舍五入得到的次年日期,年的四舍五入以每年六月为基准,月的四舍五入以每月的15号为基准。 select hire_date, sysdate,round(sysdate, year)from employeeselect hire_date, sysdate,round(sysdate, month)from employee trunc :取得按年或月截取获得的新日期select hire_date, sysdate,trunc(sysdate

17、, year)from employee select hire_date, sysdate,trunc(sysdate, month)from employee 转换函数 对日期进行to_char 转换 select sysdate,to_char(sysdate, YYYY-MM-DD)from employee 对数字进行to_char 转换:9不强制显示,0强制显示,L显示本地符号。 select salary,to_char(salary, $999,999,999.99)from employeeselect salary, to_char(salary, L00,000.00)f

18、rom employee to_date函数 select to_date(11-10月-10)from employee select to_date(2010-10-11, YYYY-MM-DD)from employee to_number函数 select to_number(12345) * 10 from employee、其它函数 nvl(expr1, expr2) :用于将控制转换为一个替换值 select manager_id, nvl(manager_id,12345) from employee nvl2(expr1, expr2, expr3) :如果expr1不为nu

19、ll,返回expr2,否则返回expr3 select manager_id 前, nvl2(manager_id,12345,4567) from employee nullif(expr1, expr2) :比较两个表达式,如果相等返回null,如果不相等返回第一个表达式的值。 select length(first_name),length(last_name),nullif(length(first_name),length(last_name) from employee coalesce(expr1, expr2,.exprn) :查找表达式莉第一非空值表达式,并返回此表达式的值(

20、括号里面表达式必须是同一类型的)。 select coalesce(email, last_name, first_name) from employee;条件表达式(实现if-then-else的逻辑) : 使用两种方法:case表达式,decode函数 case表达式: select employee_id, first_name, department,salary,case department when 1 then salary + 100 when 2 then salary + 200 when 3 then salary + 300 else salary + 500 end

21、 NEW SALARYfrom employee; decode函数: select employee_id, first_name, department,salary,decode(department, 1, salary + 100, 2, salary + 200, 3,salary + 300) NEW SALARY from employee; 分组函数1、 分组函数对多行输入值进行运算,得到多行对应的单个结果 AVG() :计算平均值,distinct 去掉重复值后再进行计算。 select avg(salary) 平均工资 from employee; select avg(

22、distinct salary) 平均工资 from employee; count : 计算总个数 非空的才计算在内。 select count(*) from employee; select count(*) from employee where department = 6;注 :count(*)求出所有符合条件的记录数,count(字段) 是求出所有符合条件并且字段值非空的记录数。 max(),min() :求最大值,最小值 select min(salary) from employee; select min(salary) from employee; sum() :求和 s

23、elect sum(salary) from employee;2、 使用group by对数据进行分组 使用group by可以将表分成多个组,group by 紧跟where语句之后,分组函数在使用的时候,需要遵守一些规则:I 出现在select列表中的字段,如果出现位置不再组函数中,那么必须出现在group by 子句中。 select department 部门, avg(salary) 平均工资 from employee group by department;II 在group出现的字段可以不出现在查询语句中。 select avg(salary) 平均工资 from emplo

24、yeegroup by department;III where子句中不允许出现出现组函数,组函数可以出现在查询列表中,或者group by 子句中, 但是不允许出现在where子句中。 错误例子:select department, avg(salary) from employee where avg(salary) 5000 group by department;3、 使用having 子句对分组结果进行限制 select department 部门, avg(salary) 平均工资 from employee group by department having avg(salar

25、y) 3000;四、多表连接和子查询 约束 :在表上强制执行的一些数据校验规则,被插入、修改或者删除的数据必须符合在相关字段上设置这些数据检验规则,也就是约束条件。 Oracle数据库中包括五类完整性约束:1、 NOT NULL 非空 :只能定义在列级,保证列值不能为空。2、 UNIQUE 唯一键 :保证值不允许重复(可以为空)。3、 PRIMARY KEY 主键 :不允许有重复值,也不允许有空值。4、 FOREIGN KEY 外键 :5、 CHECK 检查 : 约束条件存放在数据字典中,同样需要命名; 约束条件命名有两种方式:Oracle按照SYS-Cn的默认命名格式命名,或者有用户指定的约

26、束条件命名。在什么时候创建约束: (1)、建表的时候 create table student (num number(20) not null, name varchar2(20) not null,sex varchar2(2), age number(3) (2)、建表之后查找定义的约束: select * from all_constraints where table_name = STUDENT 删除约束 : alter table student drop constraint SYS_C005402; 添加约束: alter table student add constrai

27、nt num_uni_check unique(num);alter table stusub add constraint stu_sub_check primary key(st_no, su_no) 创建外键连接: create table stusub(num number(20), sub_no char(4), foreign key(num) references student)查询约束 :select * from all_constraints where table_name = EMPLOYEE;check约束 :create table stuInfo(stu_id

28、char(10) primary key,stu_name varchar2(10) not null, stu_age number(2), constraint stu_age_check check(stu_age 15)启用约束:alter table stuInfo enable constraint stu_age_check;关闭约束:alter table stuInfo disable constraint stu_age_check; 多表连接:使用单个select 语句从多个表中取出相关的数据。select department.department_id, employ

29、ee.em_name from department, employee where employee.department_id = department.department_id; 使用别名:select d.department_id, e.em_name from department d, employee e where e.department_id = d.department_id; 注意:一定要有where语句且where语句后面是正确的连接条件,如果漏写或者错误的连接条件,会产生错误的结果! 多表连接可以分为四类: 等值连接、非等值连接、外连接、自连接,还有SQL99新

30、标准下的多表连接。 等值连接:最常见的一种,连接条件中的两个字段通过等号连接建立等值关系。 示例:select d.department_id, e.em_name, d.department_name from department d, employee e where e.department_id = d.department_id; 通过and 连接字句和查询条件 select d.department_id, e.em_name, d.department_name from department d, employee e where e.department_id = d.department_id and e.department_= 1001 ; 连接多个表:通过and 操作符连接,一般来说,n个表连接,至少需要n-1个连接。 select s1.st_name,s2.su_name from stusub s3, student s1, subject s2 whe

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1