以下是一些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右侧数据决定显示的宽度;

 
程序员的基础教程:菜鸟程序员

基本的sqlplus命令的更多相关文章

  1. 安装Oracle之后在DOS命令下不能使用sqlplus命令启动Oracle?

    就像完成安装JDK后需要给系统配置环境变量JAVA_HOME和PATH,以便让系统认识在JDK里面的Javac命令.同样的,安装Oracle也需要这么一个过程.在正常情况下安装Oracle时系统安装程 ...

  2. sqlplus命令行登录oracle数据库的N种方法盘点

    欢迎访问我的个人博客IT废柴,本文永久链接移至:sqlplus命令行登录oracle数据库的N种方法盘点 sqlplus有几种登陆方式Oracle数据库, 比如: 1.以操作系统权限认证的oracle ...

  3. oracle安装完成之后,执行sqlplus命令,提示:bash: sqlplus: command not found...

    1.安装完oracle后,用终端登录,因为不是直接用oracle用户登录的,所以我就执行$ su oracle切换成oracle用户之后,执行"echo $ORACLE_HOME" ...

  4. oracle实用的sqlplus命令

    有时候难免没有工具,得自己手动输入sqlplus命令 执行SQL文件:@sql文件,例如:@/home/myuser/sql/test.sql查看数据库存在的存储过程:Select object_na ...

  5. 安装oracle服务端之后再安装oracle客户端导致sqlplus命令无法使用??

    首先小编自述一下所遇到的问题: 昨天在已经安装 oracle 服务端的 win7 X64 主机上安装 oracle client 之后,发现我的sqlplus命令无法用了??经过百度,都说我服务没有开 ...

  6. [一]基本sqlplus命令

    基本sqlplus命令: 1: sqlplus scott/tiger ; #简化连接数据库 2:show user; #想知道当前登陆的用户是哪一位 3:conn 用户名[/密码] [AS SYSD ...

  7. 在linux中使用Sqlplus命令登录MySQL,查看表并设置行数和宽度,使其正常显示

    在linux中使用sqlplus命令进入MySQL,设置行数和行宽   1) 查看目前的pagesize,默认是14: 1.      show pagesize;    2.      set pa ...

  8. 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之常用sqlplus命令、格式化查询结果

    目录 1.常用sqlplus命令 1.1 HELP命令 1.2 describe命令 1.3 SPOOL命令 1.4 其他常用命令 1.4.1 define命令 1.4.2 show命令 1.4.3 ...

  9. sqlplus命令大全

    一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oracle a.启动ORACLE系统oracle>svrmgrlSVR ...

  10. sqlplus命令手册

    show errorshow allshow usersqlplus show和set命令是两条用于维护SQLPlus系统变量的命令 : SQL> show all --查看所有系统变量值 SQ ...

随机推荐

  1. windows环境下面批量修改文件夹名称

    ren 1 A ren 2 B ren 3 C ren 4 D 电脑桌面新建文档 ---> 批量修改文件夹名称.txt 修改文件名称为:--->批量修改文件夹名称.bat 内容如上: 双击 ...

  2. java后台服务器启动脚本

    最近由于经常在项目上线或者调试中启动服务,由于要设置环境变量这些,所以为了方便写了个启动脚本,希望能够帮助大家,也算是给自己做个小笔记: example_project_start.sh: # /bi ...

  3. double compare 0

    因为double类型或float类型都是有精度的,其实都是取的近似值,所以有个误差.和一个很小的数比如0.00000001(1e-8)比较就是为了在这个误差范围内进行比较. 举个例子如double b ...

  4. 图解 Git

    https://juejin.im/entry/5917c463da2f60005de84195

  5. Linux系统复制文件/文件夹到远程服务器

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...

  6. 关于ProgressDialog.show抛出android.view.WindowManager$BadTokenException: Unable to add window

    下午摆弄ProgressDialog,进入就抛错:android.view.WindowManager$BadTokenException: Unable to add window -- token ...

  7. UITextField 基本设置

    _myAccount = [[UITextField alloc]init]; _myAccount.frame = CGRectMake(, , , ); _myAccount.background ...

  8. linux服务器挂掉自动重启脚本(转)

    实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则执行我们预设的重启脚本. 首先我们要向crontab加入一个新任务 sudo crontab -e #进入编 ...

  9. 听闻 kubernetes,快速了解一番

    看到 各位 大厂都在用这个,  而本人最多是用yarn 做些ML的事情,   赶快了解一下, 先扫盲记录一下. 一.名称趣闻 kubernetes缩写为k8s, 阿哈 ,原来是:k8s,意思就是k后面 ...

  10. 城市经纬度 json 理解SignalR Main(string[] args)之args传递的几种方式 串口编程之端口 多线程详细介绍 递归一个List<T>,可自己根据需要改造为通用型。 Sql 优化解决方案

    城市经纬度 json https://www.cnblogs.com/innershare/p/10723968.html 理解SignalR ASP .NET SignalR 是一个ASP .NET ...