20130830sqlplus使用及联机文档

运行的时候首先设置
set linesize 200
set pagesize 100

提示影响多少行

 set feedback off

 set feedback on

SQL >
set sqlprompt 'session 1 >'
修改提示信息

set sqlprompt "_USER >"
提示符改成当前用户
show user
_USER oracle定义好的变量

SQL> set sqlprompt 'session 1>'
session 1>set sqlprompt "_user>"
SCOTT>set sqlprompt '_user>'
SCOTT>
双引号和单引号没得区别

SCOTT>set sqlprompt '&gname>'
输入 gname 的值:  1
1>

命令语句 set sqlprompt '&gname>'这个输入一个参数


set timing on

set time on

查询表结构
desc emp;

修改表字段长度
column ename format a7

暂时不想用
col sal off 关闭sal显示的格式
col sal on 开启sal显示的格式

以后都不用 clear

col sal clear

全部对当前会话生效

select * from nls_database_parameters;

设置列宽
col value for a30


alter session set nls_currency='$';
设置会话格式
已用时间:  00: 00: 00.00
21:27:35 sysdate>select to_char(999,'L999') from dual;

TO_CHAR(999,'L
--------------
         ha999

已选择 1 行。

已用时间:  00: 00: 00.00
21:28:29 sysdate>
21:28:56 sysdate>alter session set nls_currency='$';

会话已更改。

已用时间:  00: 00: 00.00
21:28:57 sysdate>/

会话已更改。

已用时间:  00: 00: 00.00
21:28:59 sysdate>select to_char(999,'L999') from dual;

TO_CHAR(999,'L
--------------
          $999

已选择 1 行。

已用时间:  00: 00: 00.00
21:29:04 sysdate>

替换变量
&
&&
Define
这是输入一个&符号,内存里面有没有保存。只执行一次就完了
21:29:04 sysdate>select ename,&column_name
21:33:21   2  from emp
21:33:21   3  order by &column_name;
输入 column_name 的值:  sal
原值    1: select ename,&column_name
新值    1: select ename,sal
输入 column_name 的值:  sal
原值    3: order by &column_name
新值    3: order by sal


这是输入二个&&符号,&&  输入一次,它保存到内存了
21:34:02 sysdate>select ename,&&column_name
21:35:55   2  from emp
21:35:55   3  order by &&column_name;
输入 column_name 的值:  sal
原值    1: select ename,&&column_name
新值    1: select ename,sal
原值    3: order by &&column_name
新值    3: order by sal

ENAME          SAL
------- ----------
SMITH          800
JAMES          950
ADAMS         1100
WARD          1250
MARTIN        1250
MILLER        1300
TURNER        1500
ALLEN         1600
CLARK         2450
BLAKE         2850
JONES         2975
SCOTT         3000
FORD          3000
KING          5000

已选择14行。

已用时间:  00: 00: 00.00
21:35:59 sysdate>

col sal for 9999 设置显示格式

clear buffer清除缓存

 

define column_name=job

define column_name=job
select ename,&column_name
from emp
order by &column_name;

select ename,&&column_name
from emp
order by &&column_name;


21:41:08 sysdate>/
输入 column_name 的值:  job
原值    1: select ename,&&column_name
新值    1: select ename,job
原值    3: order by &&column_name
新值    3: order by job

不显示原值新值 set verify off  对比的 set verify on


1 select ename,&&column_name
  2  from emp
  3  order by &&column_name;
/

当执行sql前面写行数的时候,分号不能够执行;用/执行

查看联机文档就是oracle的操作手册

http://tahiti.oracle.com 联机文档的路口

官网上面找不到相应的下载文档
选择下载的版本后面旁边有个documentation

SQL Language Reference 关于写sql
Expand All展开所有

v$session动态视图

http://www.oracle.com/pls/db112/portal.all_books#index-PL%2F
点击PL/没得东西


课后作业
1.十进制转成十六进制
SQL> select to_char(16,'xx') from dual;

TO_
---
 10

SQL> select to_number(10,'xx') from dual;

TO_NUMBER(10,'XX')
------------------
                16

把工资转换为16进制
'xxxx'是多少位数
SQL> select to_char(sal,'xxxx') from emp;

TO_CH
-----
  320
  640
  4e2
  b9f
  4e2
  b22
  992
  bb8
 1388
  5dc
  44c

TO_CH
-----
  3b6
  bb8
  514

已选择14行。

2.联机文档,查RMAN

备份恢复backup restore  recover

Backup and Recovery Reference

to_char把十进制转换成16进制


表的分类
关系表
对象表
xml类型的表
语法图

圆形的图是一个分句
四方形的图是关键字

create global temporary table xxxx
建全局的临时表
create table 普通表

schema. 扁的椭圆形不是关键字
schema.是用户的意思
create table scott.t xxxx需要自己取名字

有逗号的表示用逗号分隔

 


查看执行计划

set autotrace on
打开执行计划查看
set autotrace off
关闭执行技术查看

SQL> @?\rdbms\admin\utlxplan
创建自动更新功能

@?\sqlplus\admin\plustrce.sql
这个是授权语句


执行计划

set autotrace on 打开执行计划查看

SET AUTOTRACE ON STATISTICS 只有统计信息

统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          8  consistent gets
          0  physical reads
          0  redo size
       1455  bytes sent via SQL*Net to client
        416  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
         14  rows processed

SET AUTOT TRACEONLY EXPLAIN 只有执行计划

SQL> SET AUTOT TRACEONLY EXPLAIN
SQL> /

执行计划
----------------------------------------------------------
Plan hash value: 3956160932

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |    14 |   532 |     3   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| EMP  |    14 |   532 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------

只有统计信息
SQL> SET AUTOT TRACEONLY STATISTICS
SQL> /

已选择14行。


统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          8  consistent gets
          0  physical reads
          0  redo size
       1455  bytes sent via SQL*Net to client
        416  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
         14  rows processed

SQL>

总结 执行计划
SET AUTOTRACE ON ----------------- 包含执行计划和统计信息,返回表中的信息
SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式
SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告
SET AUTOTRACE ON STATISTICS -- -- 只显示执行统计信息
SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询输出

SET AUTOT TRACEONLY EXPLAIN ---- 只显示执行计划
SET AUTOT TRACEONLY STATISTICS –只显示统计信息

 

set autot off 关闭执行计划查看

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值