没有合适的资源?快使用搜索试试~ 我知道了~
oracle 由浅入深学习指南(知名软件公司内部文档)
需积分: 10 14 下载量 41 浏览量
2011-04-28
13:49:56
上传
评论
收藏 139KB DOC 举报
温馨提示
试读
32页
本文档是国内某知名软件公司培训文档,oracle开发人员必备手册,由浅入深的详尽全面而又简明的介绍oracle,值得长期拥有。 货真价实,有很多实战经验和技巧,值得借鉴。
资源推荐
资源详情
资源评论
ORACLE SQL and SQL*PLUS
余枫编写 2002.10
前言: 关系数据库的简单介绍
1970.Dr.E.F.codded 创建了关系数据库的模型(类似现在常用的二维表格)
关系数据库由许多数据对象组成, 被关系操作 SQL 命令管理着, 数据之间有完整性的约束条
件.
RDBMS ( relational database management system )
ORDBMS ( object relational database management system )
ORACLE RDBMS 常称为 ORACLE SERVER
它的内核是用 C 语言写的.
ORACLE 的简单介绍
ORACLE 公司是一家提供综合技术产品、方案、服务的数据库公司
ORACLE 数据库设计成可大量存储数据,快速查询数据,保证数据的安全和一致性,
跨网络的分布式管理及客户-服务器的配置等。
ORACLE SQL 语法符合 ANSI 1986 标准
SQL 和数据库交流的命令式语言
SQL*PLUS ORACLE 的一种工具, 用来运行 SQL 和 PL/SQL 语句
PL/SQL ORACLE 的过程化编程语言
一、选择行
1. 简单的 SELECT 语句
SELECT [DISTINCT] {*,COLUMN [ALIAS], ……} FROM table_name;
字段的非唯一的结果集
DISTINCT 字段名 1 [ ,字段名 2]
数字类型字段名之间可以进行算术运算
+ - * / 等
例如: (字段名 1*字段名 2)/3
合并字段内容的连接字符 ||
字段名 1 || 字段名 2
字段可以有别名
SELECT 字段名 1 [AS] '字段名 1 解释' FROM table;
2. 处理 NULL
NULL 未定义,不可操作,什么都不是
NULL != 0 NULL!='空格'
和 NULL 的任何运算都返回 NULL
ORACLE 里未定义的变量值都为 NULL
NVL 函数可把 NULL 转换成其它类型的符号
NVL(EXPR1, EXPR2)函数
解释: IF EXPR1=NULL RETURN EXPR2
ELSE RETURN EXPR1
编程技巧: NVL 函数在多条件模糊查询的时候比较有用
nvl('+input_value+','0')='0' or filed_name like '%+input_value+%'
NVL 函数可返回多种数据类型:
返回日期 NVL(start_date,'2002-02-01')
返回字符串 NVL(title,'no title')
返回数字 NVL(salary,1000)
3. 使用 SQL*PLUS(1)
登录 SQL*PLUS 的方法
用户名,密码,数据库连接字符串
数据库连接字符串可以用 net8 easy configuration 建立本地网络服务名配置,
也可以手工编辑$ORACLE_HOME/network/admin/tnsnames.ora 文件。
在 UNIX 系统下不要用
$sqlplus username/password@dbname
这样别的用户用$ps 命令能看出用户的密码
SQL> desc table; 显示表结构
SQL> select * from tab; 查看用户下所有的表
SQL> set pause on; 可以使大量结果集在用户按“Enter”(回车)后翻页
SQL> set pagesize 100; 设定 SQL 语句返回结果集一页的行数 100, 默认值是 14
SQL> set linesize 100; 设定 SQL 语句返回结果集一行的宽度 100, 默认值是 80
3. 使用 SQL*PLUS(2)SQL*PLUS 里的编辑命令
最近一条 SQL 命令语句存在 ORACLE 内存(sql buffer)里,但 SQL*PLUS 命令却不会存进
去。
SQL*PLUS 里的编辑命令:
A[PPEND] text 把 text 增加到当前行后面
C[HANGE] /old/new/ 把当前行 old 符号替换成 new 符号,new 为空,删除 old 符号
CL[EAR] BUFF[ER] 从 sql buffer 里删除所有的行
DEL n 删除 sql buffer 里第 n 行
I[NPUT] text 在 sql buffer 后面插入 text
L[IST] n 显示 sql buffer 里第 n 行
n 使第 n 行为当前行
n text 第 n 行替换成 text
0 text 在第一行前面插入一行
3. 使用 SQL*PLUS(3) SQL*PLUS 里的文件命令:
SAV[E] filename [REP[LACE] | APP[END] ]
把 sql buffer 里的 SQL 命令存到 OS 下一个文件 filename,默认的文件名后缀
为.sql.
REP[LACE]替换 filename 里的 SQL 命令
APP[END] 把 sql buffer 里的 SQL 命令添加到 filename 后
GET filename 从 filename 里把 SQL 命令读到 sql buffer
STA[RT] filename 运行上次保存到文件 filename 里的 SQL 命令
@filename 运行上次保存到文件 filename 里的 SQL 命令
EDIT 打开编辑窗口,编辑 sql buffer 里的 SQL 命令
EDIT filename 打开编辑窗口,编辑文件 filename 里的 SQL 命令
SPO[OL] filename [OFF | OUT] 把 SQL 命令结果输出到 OS 下一个文件 filename
OFF 结束输出到文件, OUT 结束输出到文件并打印文件
4. SQL*PLUS 里规定字段的显示格式
规定数字的显示格式
SQL>column 字段名 format 99999999999;
SQL>column 字段名 format 999,999,999,999;
规定字符串的显示宽度
SQL>column 字段名 format a 数字 [word_wrapped];
说明: 一行只显示数字位的长度, 超过长度折行,加 word_wrapped 后, 单词不会折行
规定 long 字符的显示宽度
SQL>set long 200;
规定字段名的显示内容
SQL> column 字段名 heading '字段名显示内容';
SQL> set heading off; 查询时不显示字段名称
规定字段的对齐方向
SQL> column 字段名 justify [left | right | center];
清除字段的格式
SQL> column 字段名 clear;
5. SQL*PLUS 里规定字段的显示格式例子
SQL> column last_name heading 'Employee|Name' format a15;
SQL> column salary justify right format $99,999.99;
SQL> column start_date format a10 null 'Not Hired';
说明:如果 start_date 为 null, 显示字符串'Not Hired'
6. 判断题(T/F)
(1). SQL command are always held in sql buffer. [T]
(2). SQL*PLUS command assit with query data. [T]
SQL*PLUS 命令只控制 SELECT 结果集的显示格式及控制文件.只有 SQL 命令能访问数据
库.
二、限制选择行
1. 按指定的规则排序
SELECT expr FROM table [ORDER BY {column, expr} [ASC | DESC] ];
默认的排序是 ASC 升序(由小到大)
还可以 ORDER BY 字段名的位置[1]| [2] ASC| DESC;
当字段名很复杂或者是算术表达式时用字段名显示的位置排序很方便.
2. 用 WHERE 限制选择行(1)
比较操作符 = > < >= <= != <> ^= 与 NULL 比较不能用上面的比较操作符
ANY SOME ALL
SQL 操作符 BETWEEN … AND… IN LIKE IS NULL
NOT BETWEEN … AND… NOT IN NOT LIKE IS NOT NULL
逻辑操作符 AND OR NOT
3. 用 WHERE 限制选择行(2)
比较顺序(可以用括号改变它们的顺序)
(1). = < > >= <= in like is null between
(2). and
(3). Or
注意: char 和 varchar2 的比较规则有不同:
char 比较时会忽略字符串后面的空格. varchar2 会计算字符串后面的空格
4. LIKE 操作
% 零到任意多个字符 _ 一个字符
例如: 字段名 like 'M%' 字段名 like '%m%' 字段名 like 'job_'
剩余31页未读,继续阅读
资源评论
javaboy2014
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功