sql语句的编程手册Word格式文档下载.docx
- 文档编号:20389574
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:31
- 大小:31.07KB
sql语句的编程手册Word格式文档下载.docx
《sql语句的编程手册Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《sql语句的编程手册Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
column
input
timing
compute
list
ttitle
connect
newpage
undefine
copy
---------
2
数据库查询
数据字典
TAB
用户创建的所有基表、视图和同义词清单
DTAB
构成数据字典的所有表
COL
用户创建的基表的所有列定义的清单
CATALOG
用户可存取的所有基表清单
*
from
tab;
describe命令
描述基表的结构信息
dept
emp;
empno,ename,job
order
by
deptno
desc;
逻辑运算符
=
!
=或<
>
<
in
between
value1
and
value2
like
%
_
null
not
no
in,is
谓词in和not
有哪些职员和分析员
ename,job
emp
where
job
('
clerk'
'
analyst'
);
谓词between和not
哪些雇员的工资在2000和3000之间
ename,job,sal
sal
2000
3000;
谓词like,not
ename,deptno
ename
'
S%'
;
(以字母S开头)
%K'
(以K结尾)
W___'
(以W开头,后面仅有三个字母)
sales%'
(哪些雇员的工种名不以sales开头)
谓词is
null,is
没有奖金的雇员(即commision为null)
comm
is
null;
多条件查询
deptno=20
job!
='
表达式
+
-
算术表达式
选择奖金高于其工资的5%的雇员
ename,sal,comm,comm/sal
comm>
.05*sal
comm/sal
日期型数据的运算
add
two
days
to
6-Mar-87
8-Mar-87
hours
2/24
2hrs
15
seconds
15/(24*60*60)
secs
列名的别名
employee
deptno=10;
(别名:
employee)
"
C/S
RATIO"
SQL命令的编辑
or
l
显示缓冲区的内容
4
显示当前SQL命令的第4行,并把第4行作为当前行,在该行号后面有个*。
c
用新的内容替换原来在一行中第一次出现内容
SQL>
c/(...)/('
)/
i
增加一行或多行
a
在一行后追加内容
删除当前行
删除SQL缓冲区中的当前行
显示并运行SQL缓冲区中的命令
运行SQL缓冲区中的命令
把SQL缓冲区中的命令写到操作系统下的文本文件,
并调用操作系统提供的编辑器执行修改。
-------------
3
数据操纵
数据的插入
into
values
(10,'
accounting'
new
york'
(dname,deptno)
10);
从其它表中选择插入数据
(empno,ename,deptno)
id,name,department
old_emp
department
in(10,20,30,40);
使用参数
values(&
deptno,&
dname,&
loc);
执行时,SQL/PLUS对每个参数将有提示用户输入
参数对应日期型或字符型数据时,可在参数上加引号,输入时就可不用引号
deptno,'
&
dname'
loc'
插入空值(NULL)
values(50,'
education'
null);
插入日期型数据
日期型数据缺省格式:
DD-MON-YY
(empno,ename,hiredate)
values(7963,'
stone'
07-APR-87'
系统时间:
SYSDATE
values(7600,'
kohn'
SYSDATE);
数据更新
job='
manager'
ename='
martin'
market
rep'
salesman'
deptno=40,job='
数据删除
empno=765;
更新的提交
commit
自动提交方式
autocommit
on
如果状态设为开,则使用inesrt,update,delete会立即提交。
更新取消
rollback
两次连续成功的commit之间的操作,称为一个事务
---------------
创建基表、视图
创建基表
table
(deptno
number
(2),
dname
char(14),
loc
char(13));
数据字典会自动更新。
一个基表最多254列。
表名列名命名规则:
限制
第一个字符必须是字母,后面可任意(包括
但不能是逗号)。
名字不得超过30个字符。
唯一
某一用户的基表名必须唯一,不能是ORACLE的保留字,同一基表的列名互不相同。
使用双引号
如果表名用双引号括起来,则可不满足上述规则;
只有使用双引号,才能区别大、小写;
命名时使用了双引号,在以后的操作也必须使用双引号。
数据类型:
char(n)
(不得超过240字符)
number(n,d)
date
long
(最多65536字符)
raw
(二进制原始数据)
空值处理
有时要求列值不能为空
number
(2)
null,
在基表中增加一列
(headcnt
number(3));
修改已有列属性
modify
char(20);
注:
只有当某列所有值都为空时,才能减小其列值宽度。
只有当某列所有值都为空时,才能改变其列值类型。
只有当某列所有值都为不空时,才能定义该列为not
null。
例:
(loc
char(12));
char(12);
(dname
char(13),loc
创建视图
view
managers
as
为视图列名取别名
mydept
(person,title,salary)
with
check
option选项
使用with
option,保证当对视图插入或更新数据时,
该数据必须满足视图定义中select命令所指定的条件。
dept20
ename,job,sal,deptno
option;
在做下述操作时,会发生错误
deptno=30
ward'
基表、视图的拷贝
emp2
基表、视图的删除
表名
视图名
------------
5
SQL*PLUS报表功能
SQL*PLUS的一些基本格式命令
heading
name
salary
format
$99,999.00
sample
report
for|hitech
corp
strictly
confidential
sum
of
表头和表尾
right
“|”表示换行,结尾不必加分号
选项有三种:
left
center
使用TTITLE,系统将自动地在每页的顶部显示日期和页号。
TTITLET和BTITLE命令有效,直至重新设置表头或表尾,或退出SQL*PLUS。
下面命令使标题语句失效
TTITLE
OFF
BTITLE
列名
column命令定义用于显示列名
若名字为一个单词,不必加引号
employee|name'
(|为换行)
取消栏定义
列的格式
A15
$9,999.99
like子句,使得某一列的格式参照另一列格式,它拷贝列名及其格式
控制记录显示分组顺序
(不显示重复值)
deptno,ename
deptno;
(ORDER
BY子句用于控制BREAK)
显示为
10
clark
niller
20
smith
scott
30
allen
blake
每次只有一个BREAK命令起作用,但一次可以在多个列上使用BREAK命令
列名1
列名2
记录分组
skip
每个deptno之间空两行
break(取消BREAK命令)
page(每次从一新页开始)
report(每次从一新报表开始)
page
report(联合使用)
分组计算
计算每个部门的工资总和
skip子句使部门之间的信息分隔开
其他计算命令
avg
deptno(平均值)
count
非空值的总数
MAX
最大值
MIN
最小值
STD
标准偏差
VAR
协方差
NUMBER
行数
使compute命令失效
一旦定义了COMPUTE,则一直有效,直到
关闭COMPUTE(clear
compute)
SQL/PLUS环境命令
选项
(显示当前参数设置情况)
all(显示全部参数)
设置参数
值或开关
SET命令包括
{off|on|immediate}
(自动提交,OFF缺省)
echo
{off|on}
(命令文件执行,是否在终端上显示命令本身,OFF缺省)
feedback
(ON:
查询结束时,给出结果,记录数的信息,缺省;
OFF:
无查询结果,记录数的信息)
列的头标在报表上显示,缺省;
不在报表上显示)
linesize
{n}
一行显示的最大字符数,缺省为80
pagesize
每页的行数,缺省是14
{off|on|text}
当报表超过一页时,每显示一屏就暂停显示,等待用户打回车键,再接着显示;
页与页不停顿,缺省;
text:
页与页停顿,并向用户提示信息)
SET
BUFFER
buffer
设置当头的命令缓冲区,通常情况下,SQL命令缓冲区已为当前缓冲区。
由于SQL命令缓冲区只能存放一条SQL命令,
所以可用其它缓冲区来存放SQL命令和SQL*PLUS命令。
经常用到的设置可放在login.sql文件中。
NULL
data'
ename,comm
deptno=30;
把部门30中无佣金雇员的佣金显示为“NO
DATA”。
null是SQL*PLUS命令,用它来标识空值(NULL),可以设置为任意字符串。
存盘命令SAVE
文件名
1
research
目录中会增加一个research.sql文件。
编辑命令EDIT
EDIT编辑当前缓冲区中的内容。
编辑一个文件
调入命令GET
把磁盘上的文件内容调入缓冲区,并显示在屏幕上,文件名尾不必加.sql。
START命令
运行指定的文件
输出命令SPOOL
tryfile
不仅可以使查询结果在屏幕上显示,还可以使结果存入文件
停止向文件输出
off
把查询结果在打印机上输出,先把它们存入一个文件中,
然后不必使用SPOOL
OFF,而用:
out
SPOOL
OUT关闭该文件并在系统缺省的打印机上输出
制作报表举例
25
values(9999,'
geiger'
sysdate);
values(3333,'
samson'
20);
new_emp
用start命令执行这个文件
--------
6
函数
字符型函数
initcap(ename);
将ename中每个词的第一个字母改为大写。
如:
jack
smith--Jack
Smith
length(ename);
计算字符串的长度。
substr(job,1,4);
其它
lower
upper
least
取出字符串列表中按字母排序排在最前面的一个串
greatest
取出字符串列表中按字母排序排在最后的一个串
日期函数
add_month(hiredate,5)
在雇佣时间上加5个月
month_between(sysdate,hiredate)
计算雇佣时间与系统时间之间相差的月数
next_day(hiredate,'
FRIDAY'
)
计算受雇日期之后的第一个星期五的日期
例
ename,sal,next_day(sysdate,'
as_of
deptno=20;
(as_of是别名)
如果不用to_char函数,日期在ORACLE中的缺省格式是'
DD_MON_YY'
to_char(date,date
picture)
ename,to_char(hiredate,'
Dy
Mon
dd,yyyy'
hired
to_date(字符串,格式)
emp(empno,ename,hiredate)
values(7999,'
asms'
to_date('
070387083000'
MMDDYYHHMISS'
));
日期型数据的格式
dd
12
dy
fri
day
friday
ddspth
twelfth
mm
03
mon
mar
month
march
yy
87
yyyy
1987
Mar
12,1987
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 语句 编程 手册