(O管理)OPLSL

上传人:管****问 文档编号:129036339 上传时间:2020-04-22 格式:DOC 页数:51 大小:210.54KB
返回 下载 相关 举报
(O管理)OPLSL_第1页
第1页 / 共51页
(O管理)OPLSL_第2页
第2页 / 共51页
(O管理)OPLSL_第3页
第3页 / 共51页
(O管理)OPLSL_第4页
第4页 / 共51页
(O管理)OPLSL_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《(O管理)OPLSL》由会员分享,可在线阅读,更多相关《(O管理)OPLSL(51页珍藏版)》请在金锄头文库上搜索。

1、Oracle基础知识将Oracle中的日期设置为英文:alter Session set nls_date_language = american;SQL:结构化查询语言DML:数据操作语言 insert、update、delete、mergeDDL:数据定义语言 create、alter、drop、truncateDCL:数据控制语言Grant revoke事物控制语句 commit rollback savepoint一、 关系数据库管理术语主键(PK)和外键(FK) 主键:唯一识别表中记录。取值唯一,非空外键:建立表与表之间的关联关系。取值必须是所关联列中的值或空值二、数据库对象视图:表

2、的映像 真正的数据存在表里序列数(Sequence):产生主键值 确保主键唯一索引(index):加快查找速度同义词或者别名(Synonym):程序单元(Program unit)PL/SQL:Procedure Language/SQL 过程化结构查询语言属于第三代语言只适用于Oracle 在SQL添加一些过程处理语句存在过程化语言 程序变得更加简单三、数据完整性约束实体:主键要求,非空唯一参考:外键必须是所关联列中的值或者是空值列:数据类型限制自定义类型的限制:符合业务规则实体完整性、参照完整性、自定义完整性Oracle 9i:internet Oracle 10g:grid 网格化计算t

3、elnet IPsqlplus(briup/briup)SQL 和PL/SQL 是语言SQL*Plus 客户端工具第一章 selecting rows一、格式:select distinct *,column alias,.from table;1)distinct 删除重复的记录select distinct namefrom s_emp;select distinct dept_id,title 这时distinct限制多个约束 dept_id和title from s_emp; 而且distinct 要紧跟在select之后2)* 选出所有的列的记录select * from s_emp

4、; 查询表中所有的信息select dept_id,last_name,manager_id from s_emp; 将表中的属性都显示出来 也就显示全表信息在java中与数据库连接时尽量不要使用*号 可读性差 效率低3)列标签的默认情况 日期、字符串默认在左边 数字数据默认在右边 标签默认显示大写4)算数表达式add:+subtract:-mutiply:*divide:/5) 给列指定别名select last_name,salary*12 as total 可以将as 省略from s_emp; select last_name,salary*12 as “total salary” 在

5、Oracle中很少出现双引号 别名是一个from s_emp;当列的别名出现空格,特殊字符或者大小写敏感时,将别名用双引号括起来6)字符串连接用 two vertical bars | 来连接字符串select first_name|last_name as namefrom s_emp;select first_name| |last_name as namefrom s_emp;当连接字符串时出现空格时 用单引号字符串常量用单引号引起来 7)空值处理空值处理 NULL是不确定的 无法进行比较insert into table_name values(NULL,NULL);练习:查询员工的年

6、总工资(包括提成工资,可按月基本工资进行提成)select last_name,title,salary*12*(1+commission_pct/100) from s_emp;这个语句 将会使得没有提成的员工工资为空如果算数表达式中存在空值运算,最终运算结果为空select last_name,tilte,salary*12*(1+nvl(commission_pct,0)/100)from s_emp;nvl处理函数 则必须处理的值类型一样nvl(start_date,01-JAN-95)nvl(salary,1000)8) SQL*Plus知识点sqlplus username/pas

7、sworddesc s_dept 查看s_dept表下的列信息1、 sql*plus编辑命令u a text 追加信息select id 如果想在id 后面追加 name 则可以加入这个命令:a ,name from xtt_student;结果为:select id,name from xtt_student;u c /old/new 修改信息sselect id from xtt_student;c /sselect/selectu del 删除缓冲区的一行del 2 删除缓冲区中的第二行u I text 有效行下插入内容u list n 查看缓冲区下某行u n text 替换某行2、sq

8、l*plus 文件命令save filename 把缓冲区内容写入文件中get filename 把文件的内容读到缓冲区内start filename 执行文件 调用sql脚本 filename 执行文件edit filename 编辑文件spool filename 记录输出 查看老师视频spool hello.sqlselect id,last_namefrom s_emp;spool off将查询的内容写到hello.sql文件中exit 退出9)列命令clear:清楚列的格式限制format:改变列的显示格式heading:设置列的名字justify:设置列的排列格式 左,中,右例子:

9、column last_name heading Employee|Name format a15column salary justify left format $99,999.00column last_name 查看格式限制column last_name clear; 第二章 selecting rows 的限制和排序一、order byasc 升序排序,默认desc 降序排序order by 在select命令的最后-例子-select last_name EMPLOYEE,start_datefrom s_emporder by EMPLOYEE desc; 按EMPLOYEE降

10、序排列或者 按位置select last_name,salaryfrom s_emporder by 1;或者select last_name,dept_id,salaryfrom s_emp;order by dept_id,salary desc; 则是先按dept_id 升序排列,在按salary降序排列二、where 字符串和日期用单引号括起来数字不需要用单引号字符大小写敏感日期默认格式DD-MON-YY1、逻辑比较操作符= = =!= =2、SQL比较操作符between.and. not betweenin not inlike not likeis null is not nul

11、l-例子-select first_name,last_name,start_datefrom s_empwhere start_date between 09-may-91 and 17-jun-91; 必须是小到大select id,name,region_idfrom s_deptwhere region_id in(1,3); 在某某范围之间select last_namefrom s_empwhere last_name like M%; select last_namefrom s_empwhere last_name like _a% escape 将设置为转义字符select

12、id,name,credite_ratingfrom s_customerwhere sales_rep_id is null;3、逻辑操作符andornot第三章 Single Row Functions 单行函数一、字符函数lower: lower(SQL Server) sql server 将字符串转换为小写upper: upper(SQL Server) SQL SERVER 将字符串转换为大写initcap: initcap(SQL Server) Sql Server 将字符串首字母大写concat: concat(Good, String) GoodString 连接字符串su

13、bstr: substr(String ,1,3) Str 取字符串 从1位置开始取三个length: length(string) 6 求字符串的长度nvl:为空值指定属性值 例子 select last_name,salary from s_emp; where lower(last_name)=”SMITH”;二、数字处理相关函数round:将数值四舍五入trunc:将数值截断mod:取余round(45.923,2) 45.92round(45.923,0) 46round(45.923) 46round(45.923,-1) 50 负数:表示把小数点虚拟的移动几位,把小数点后面的几位四舍五入trunc(45.923,2) 2 表示小数点后取两位trunc(45.923) 45 截断trunc(45.923,-1) 40mod(1600,300) 100 取余数三、日期类型函数a、months_between:求两个日期之间的月数select months_between(01-SEP-95, 11-JAN-94)from dual; 19.774194

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号