没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
OraclePLSQL
将 Oracle 中的日期设置为英文:alter Session set nls_date_language = american;
SQL:结构化查询语言
DML:数据操作语言 insert、update、delete、merge
DDL:数据定义语言 create、alter、drop、truncate
DCL:数据操纵语言 Grant revoke
事物操纵语句 commit rollback savepoint
一、关系数据库治理术语
主键〔PK〕和外键〔FK〕
主键:唯独识别表中记录。取值唯独,非空
外键:建立表与表之间的关联关系。取值必须是所关联列中的值或空值
二、数据库对象
视图:表的映像 真正的数据存在表里
序列数〔Sequence〕:产生主键值 确保主键唯独
索引〔index〕:加快查找速度
同义词或者别名〔Synonym〕:
程序单元〔Program unit〕
PL/SQL:Procedure Language/SQL 过程化结构查询语言
属于第三代语言
只适用于 Oracle 在 SQL 添加一些过程处理语句
存在过程化语言 程序变得更加简单
三、数据完整性约束
实体:主键要求,非空唯独
参考:外键必须是所关联列中的值或者是空值
列:数据类型限制
自定义类型的限制:符合业务规那么
实体完整性、参照完整性、自定义完整性
Oracle 9i:internet
Oracle 10g:grid 网格化运算
telnet IP
sqlplus〔briup/briup〕
SQL 和 PL/SQL 是语言
SQL*Plus 客户端工具
第一章 selecting rows
一、格式:
select [distinct] {*,column [alias],…..}
from table;
1〕distinct 删除重复的记录
select distinct name
from s_emp;
select distinct dept_id,title 这时 distinct 限制多个约束 dept_id 和 title
from s_emp; 而且 distinct 要紧跟在 select 之后
2〕* 选出所有的列的记录
select * from s_emp; 查询表中所有的信息
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〞 在 Oracle 中专门少显现双引号
一个
from s_emp;
当列的别名显现空格,专门字符或者大小写敏锐时,将别名用双引号括起来
6〕字符串连接
用 two vertical bars || 来连接字符串
select first_name||last_name as name
from s_emp;
select first_name|| ‘’||last_name as name
from s_emp;
当连接字符串时显现空格时 用单引号
字符串常量用单引号引起来
7)空值处理
空值处理 NULL 是不确定的 无法进行比较
insert into table_name values〔NULL,NULL〕;
练习:
查询职员的年总工资〔包括提成工资,可按月差不多工资进行提成〕
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/password
desc s_dept 查看 s_dept 表下的列信息
1、 sql*plus 编辑命令
a text 追加信息
select id 假如想在 id 后面追加 name 那么能够加入那个命令:a ,name
from xtt_student;
结果为:select id,name from xtt_student;
c /old/new 修改信息
sselect id
from xtt_student;
c /sselect/select
del 删除缓冲区的一行
del 2 删除缓冲区中的第二行
I text 有效行下插入内容
list n 查看缓冲区下某行
n text 替换某行
2、sql*plus 文件命令
save filename 把缓冲区内容写入文件中
get filename 把文件的内容读到缓冲区内
start filename 执行文件 调用 sql 脚本
@ filename 执行文件
edit filename 编辑文件
spool filename 记录输出 查看老师视频
spool hello.sql
select id,last_name
from s_emp;
spool off
将查询的内容写到 hello.sql 文件中
exit 退出
9〕列命令
clear:清晰列的格式限制
format:改变列的显示格式
heading:设置列的名字
justify:设置列的排列格式 左,中,右
例子:
column last_name heading ‘Employee|Name’ format a15
column salary justify left format $99,999.00
column last_name 查看格式限制
column last_name clear;
第二章 selecting rows 的限制和排序
一、order by
asc 升序排序,默认
desc 降序排序
order by 在 select 命令的最后
--------------------------------例子-----------------------------------------
select last_name EMPLOYEE,start_date
from s_emp
order by EMPLOYEE desc; 按 EMPLOYEE 降序排列
或者 按位置
select last_name,salary
from s_emp
order by 1;
或者
select last_name,dept_id,salary
from s_emp;
order by dept_id,salary desc; 那么是先按 dept_id 升序排列,在按 salary 降序排列
二、where
字符串和日期用单引号括起来
数字不需要用单引号
字符大小写敏锐
日期默认格式 DD-MON-YY
1、逻辑比较操作符
= > >= < <=
!= <> ^=
2、SQL 比较操作符
between….and…. not between
in not in
like not like
is null is not null
------------------------例子-----------------------------------
select first_name,last_name,start_date
from s_emp
where start_date between ’09-may-91’ and ’17-jun-91’; 必须是小到大
select id,name,region_id
from s_dept
where region_id in(1,3); 在某某范畴之间
select last_name
from s_emp
where last_name like ‘M%’;
select last_name
from s_emp
where last_name like ‘\_a%’ escape ‘\’ 将\设置为转义字符
select id,name,credite_rating
from s_customer
where sales_rep_id is null;
3、逻辑操作符
and
or
not
第三章 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 连接字符串
substr: 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.92
round(45.923,0) 46
round(45.923) 46
round(45.923,-1) 50 负数:表示把小数点虚拟的移动几位,把小数点后面的几位四舍
五入
trunc〔45.923,2〕 2 表示小数点后取两位
trunc〔45.923〕 45 截断
trunc〔45.923,-1〕 40
mod〔1600,300〕 100 取余数
三、日期类型函数
a、months_between:求两个日期之间的月数
select months_between(’01-SEP-95’, ’11-JAN-94’)
from dual; 19.774194
大的在前 小的在后 换位置为负
剩余50页未读,继续阅读
资源评论
我是你的春哥!
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功