博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基本的sqlplus命令
阅读量:5930 次
发布时间:2019-06-19

本文共 3123 字,大约阅读时间需要 10 分钟。

以下是一些sqlpus命令

remark          注释行
set headsep     标题分隔符
ttitle          头标题
btitle          尾标题
column          列标题及列格式设定
break on        报表各部分间插入空格或将小计和总计断开
compute sum     计算小计
set linesize    行的最大字符数
set pagesize    页中的行数

set newpage     页间的空行数
spool           将报表写入到文件
/**/            多行注释
--              单行注释
set pause       页间停顿
save            将建立的SQL查询存诸到文件
host            执行外部命令
start或@        执行sqlplus脚本
edit            进入自定义的编辑器
define_editor   定义编缉器
exit或quit      退出sqlplus
一个例子
rem bookshelf activity report
set headsep !
ttitle 'Checkout Log for 1/1/02-3/31/2'
btitle 'from the BookSelf'
column Name format a20
column Title format a20 word_wrapped
column DaysOut format 999.99
column DaysOut heading 'Day!Out'
break on Name skip 1 on report
compute avg of DaysOut on Name
compute avg of DaysOut on report
set linesize 80
set pagesize 60
set newpage 0
set feedback off
spool activity.lst
select Name,Title,CheckoutDate,ReturnedDate,
        ReturnedDate-CheckoutDate as DayOut
  from BOOKSELF_CHECKOUT
order by Name,CheckoutDate;
spool off
这个脚本的基本结构:
注释
标题设定
列标题及列格式设定
小计及总计设定各部分间隔设定
页面设定
打印到文件
选择数据
 
alter procedure        编辑存储过程。
alter table        增加表列、重定义表列、更改给定表存储区分配。
analyze            收集数据库对象的性能统计资料并送往基本的优化器。
alter table add constraint    在已有的表上增加约束。
create table        创建表。
create index        创建索引。
drop index        删除索引。
drop table        删除表。
grant            将权限和角色授予用户或角色。
revoke            从用户或数据库角色处收回角色。
  建表和删除表:
SQL> create table a (cola char(1));
Table created.
SQL> drop table a;
Table dropped.
SQL> create table newhire (
  2  lname      varchar2(30),
  3  state_cd   varchar(2),
  4  hiredate   date,
  5  salary     number(8,2));
Table created.
SQL> desc newhire
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 LNAME                                              VARCHAR2(30)
 STATE_CD                                           VARCHAR2(2)
 HIREDATE                                           DATE
 SALARY                                             NUMBER(8,2)
  在建表的过程中需要指定列的数据类型,普通的oracle数据类型有:
char(size)        存放定字符数据;
varchar(size)        存放变长字符数据;
number(I,d)        存放数值型数据,I代表总位数,d代表小数位数;
blob            二进制大对象;
raw(size)        原始二进制数据;
date            存放日期;
long            存放变长字符数据。
  DML数据操纵语句:包括以select、insert、update、delete开始的SQL语句。
  下面是插入数据的例子:
SQL> insert into newhire values ('corey','MA','01-Jan-01','20000');
1 row created.
SQL> insert into state (state_cd,state_name) values ('MA','Massachusetts');
1 row created.
  select语句用于检索数据:
SQL> select * from newhire;
LNAME                          ST HIREDATE      SALARY
------------------------------ -- --------- ----------
corey                          MA 01-JAN-01      20000
calisi                         NJ 10-JUN-01      30000
  select语句由五个部分组成:
select(必须)        给出检索的列;
from(必须)        给出数据的出处(一个或多个oracle表的名称);
where(可选)        设定条件;
group by(可选)    汇总数据;
order by(可选)    排序数据。
  检索出数据必将涉及到格式化输出,sqlplus使用column语句来对select语句进行格式化输出。column命令由个四个部分组成:
column <列名>        指定要格式化的列;
format <应用的掩码>    指定输入的大小及使用的掩码;
heading '标题'        指定列标题;
wrap/trunc        指定处理溢出的方式:trunc 截断,wrap 溢出。
SQL> column lname format a10 ;
SQL> select * from newhire;
LNAME      ST HIREDATE      SALARY
---------- -- --------- ----------
corey      MA 01-JAN-01      20000
calisi     NJ 10-JUN-01      30000
  下面示例标题的设定和溢出的处理。
SQL> column hiredate format a5 heading 'DATE' wrap;
SQL> select * from newhire;
LNAME      ST DATE      SALARY
---------- -- ----- ----------
corey      MA 01-JA      20000
              N-01
calisi     NJ 10-JU      30000
              N-01
SQL> column hiredate format a5 heading 'DATE' trunc;
SQL> select * from newhire;
LNAME      ST DATE      SALARY
---------- -- ----- ----------
corey      MA 01-JA      20000
calisi     NJ 10-JU      30000
  下面是关于普通的格式掩码的定义:
format A10 trunc        A右侧数据决定显示的宽度;
 
程序员的基础教程:

转载地址:http://azutx.baihongyu.com/

你可能感兴趣的文章
zephir开发的扩展“wudimei框架”之模板词法扫描(三)完成代码切分
查看>>
ML 线性回归Linear Regression
查看>>
【转载】SweetAlert2 使用
查看>>
oracle如何用sql查看触发器?
查看>>
如何对HashMap按键值排序
查看>>
test
查看>>
Unity小记
查看>>
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm
查看>>
js/jquery/插件表单验证
查看>>
Bandwidth内存带宽測试工具
查看>>
为Node.js编写组件的几种方式
查看>>
(轉貼) Anders Hejlsberg談C#、Java和C++中的泛型 (.NET) (C#)
查看>>
30天敏捷结果(24):恢复你的精力
查看>>
JNI——访问数组
查看>>
C#开发和调用Web Service
查看>>
Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题
查看>>
全面理解Git
查看>>
JS敏感信息泄露:不容忽视的WEB漏洞
查看>>
让我们荡起双桨,Android 小船波浪动画
查看>>
ApacheCN 翻译活动进度公告 2019.2.18
查看>>