使用sql*plus工具

1.sqlplus连接方式示例

    sqlplus system/123[as sysdba];

2.查看表结构命令;desc[ribe]

e.g.      desc scott.emp;

3.使用sql*plus快速编辑sql语句

命  令

说  明

A[PPEND] text

将text附加到当前行之后

C[HANGE] /old/new

将当前行中的old替换为new

C[HANGE] /text/

删除当前行中指定的text文本

CL[EAR] BUFF[ER]

清除缓存区中的所有行

I[NPUT]

插入不定数量的命令行

I[NPUT] text

插入指定的文本text

DEL

删除当前行

DEL n

删除第n行(行号从1开始)                

DEL m n

删除从第m行到第n行之间的命令行

L[IST]

列出缓冲区中所有的行

L[IST] n

列出第n行

R[UN]或 /

显示缓冲区中保存的语句,并运行这些语句

n

将第n行作为当前行

n text

使用text文本替代第n行信息

0 text

在第一行之前插入text文本

4.save命令将缓冲区内容保存到文件

使用SAVE命令可以将当前缓冲区的内容保存到文件中,这样,即使缓冲区中的内容被覆盖,也保留有前面的执行语句。SAVE命令的语法如下所示:
SAV[E] [ FILE ] file_name [ CRE[ATE] | REP[LACE] | APP[END] ]
语法说明如下。
file_name:表示将SQL*Plus缓冲区的内容保存到由file_name指定的文件中。
CREATE:表示创建一个file_name文件,并将缓冲区中的内容保存到该文件。默认。
APPEND:如果file_name文件已经存在,则将缓冲区中的内容追加到文件内容之后;否则创建该文件。

REPLACE:如果file_name文件已经存在,则覆盖文件内容,否则创建该文件。

SQL>save scott_emp_query.sql;

指定append或replace选项,再次保存。

SQL>save scott_emp_query.sql append;

5.使用get命令读取文件内容到缓冲区

使用GET命令的语法如下:
GET [ FILE ] file_name [ LIST | NOLIST ]
 
file_name:表示一个指定文件,将该文件的内容读入SQL*Plus缓冲区中。
LIST:列出缓冲区中的语句。
NOLIST:不列出缓冲区中的语句。
 
例:将scott_emp_query.sql文件的内容读入到缓冲区中,并且输出和显示这些内容,如下:
SQL> GET scott_emp_query.sql LIST
效果显示:
           SELECT empno , job , mgr , sal , deptno
           FROM scott.emp
     where empno > 7800
将文件的内容读入到缓冲区后,就可以使用编辑命令对这些内容进行操作了。
6.start命令(@命令)读取并运行文件内容
  STA[RT] { url | file_name }
      SQL>start scott_emp_query.sql
 或  SQL>  @  scott_emp_query.sql
7.编辑命令edit
使用EDIT命令,可以将SQL*Plus缓冲区的内容复制到一个名为afiedt.buf的文件中,然后打开这个文件,并编辑(用记事本)。语法形式如下:
ED[IT] [ file_name ]
其中,file_name默认为afiedt.buf,也可以指定一个其他的文件。
 
SQL>edit
 
8.使用 spool 命令复制输出结果到文件
使用SPOOL命令实现将SQL*Plus中的输出结果复制到一个指定的文件中,或者把查询结果发送到打印机中,直到使用SPOOL OFF命令为止。SPOOL命令的语法如下:
SPO[OL] [ file_name [ CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT ]
语法说明如下。
file_name:指定一个操作系统文件。
CREATE:创建一个指定的file_name文件。
REPLACE:如果指定的文件已经存在,则替换该文件。
APPEND:将内容附加到一个已经存在的文件中。
OFF:停止将SQL*Plus中的输出结果复制到file_name文件中,并关闭该文件。
OUT:启动该功能,将SQL*Plus中的输出结果复制到file_name指定的文件中。
 
SQL>spool scott_emp_outcome.txt append
SQL>/
9.使用临时变量&符号
SQL>select empno,ename from scott.emp  where empno<&temp;

输入 temp 的值:  7600

原值    1: select empno,ename from scott.emp  where empno<&temp

新值    1: select empno,ename from scott.emp  where empno<7600

EMPNO ENAME

---------- --------------------

  7369 SMITH

  7499 ALLEN

  7521 WARD

  7566 JONES

 9.2使用临时变量&&符号,避免为同一变量两次赋值信息提示
select &&colomn_name ,deptno from scott.emp where &&colomn_name>=7800;
 
10.使用verify和set define命令
set verify[on|off]指定是否输出原值新值信息
set define用于指定一个字符作为变量字符(&除外)
例子:使用set define将变量定义字符设置为@,并执行一个查询
SQL>set define '@'
SQL>select empno,deptno from scott.emp where empno = @temp; 
在脚本文件中也可以使用临时变量
11.使用已定义变量

命令

说明

DEF[INE]--对应undefine

显示所有的已定义变量

DEF[INE] variable

显示指定变量的名称、值和其数据类型  

DEF[INE] variable = value

创建一个CHAR类型的用户变量,并且为该变量赋初始值

SQL> define
DEFINE _DATE           = "18-11月-13" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)
DEFINE _USER           = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1102000100" (CHAR)
DEFINE _EDITOR         = "Notepad" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
DEFINE _O_RELEASE      = "1102000100" (CHAR)
DEFINE _RC             = "0" (CHAR)
DEFINE COLOMN_NAME     = "5" (CHAR)
DEFINE COLOMN_NAME1    = "1" (CHAR)

例子:
SQL> define temp=7800
SQL> define temp
DEFINE TEMP            = "7800" (CHAR)
SQL>select empno from scott.emp where empno>=&temp;
 
12.使用accpet命令
¤使用ACCEPT命令也可以定义变量,并且定制一个用户提示,用于提示用户输入指定变量的数据。
¤ACCEPT命令的语法如下:
|ACC[EPT] variable [ data_type ] [ FOR[MAT] format ] [ DEF[AULT] default ]
|[ PROMPT text | NOPR[OMPT] ] [ HIDE ]
format格式包括A15(15个字符),9999(4个数字),DD-MON-YYYY(日期)
例:
SQL>accept temp number format 9999 prompt '请输入一个empno值:'
 
SQL>select empno,deptno from scott.emp where empno = &temp;
 

Oracle学习笔记--第3章 使用sql*plus工具的更多相关文章

  1. 《MySQL必知必会》学习笔记——第1章 了解SQL

    第1章 了解SQL 本章将介绍数据库和SQL,它们是学习MySQL的先决条件. 1.1 数据库基础 你正在阅读本书,这表明你需要以某种方式与数据库打交道.在深入学习MySQL及其SQL语言的实现之前, ...

  2. Oracle学习笔记--第2章 oracle 数据库体系结构

    第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...

  3. oracle学习笔记3:基本的SQL语句

    oracle基本的SQL语句和SQLSERVER基本一样,在这里只简单列出与SQLSERVER不一样的地方 1.select * from orderinfo where address = 'abc ...

  4. Oracle涂抹oracle学习笔记第8章RMAN说,我能备份

    本次测试服务器为172.16.25.33 使用rman连接本地数据库 rman target / 在rman中执行启动与关闭的命令与sqlplus相同 在rman中执行sql语句 sql ‘需要执行的 ...

  5. Oracle涂抹oracle学习笔记第10章Data Guard说,我就是备份

    DG 是备份恢复工具,但是更加严格的意义它是灾难恢复 Data Guard是一个集合,由一个Primary数据库及一个或者多个Standby数据库组成,分两类逻辑Standby和物理Standby 1 ...

  6. Oracle涂抹oracle学习笔记第9章RMAN说,我能恢复

    RMAN中的恢复对应两个操作:数据库修复(restore)和数据库恢复(recover) 数据库修复(restore):是指利用备份集的数据文件来替换已经损坏的数据库文件或者将其恢复到一个新的位置.R ...

  7. oracle学习笔记(十七) PL/SQL高级应用

    PL/SQL高级应用 动态SQL 在PL/SQL中,不能直接执行DDL(create,alter,drop),得使用动态SQL,当然,除了DDL,动态SQL也可以执行DML(select,insert ...

  8. Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT

    Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

随机推荐

  1. JAVA记录-SpringMVC scope属性的两种模式

    singleton作用域:当把一个Bean定义设置为singleton作用域是,Spring IoC容器中只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean定义相匹配,则只 ...

  2. C#设计模式(15)——迭代器模式

    1.迭代器模式介绍 迭代器模式主要用于遍历聚合对象,将聚合对象的遍历行为分离出来,抽象为一个迭代器来负责.迭代器模式用的十分普遍,C#/JAVA等高级语言都对迭代器进行了封装用于遍历数组,集合,列表等 ...

  3. 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()【转】【补】

    一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该 ...

  4. HDU - 5340 Three Palindromes(manacher算法)

    http://acm.hdu.edu.cn/showproblem.php?pid=5340 题意 判断是否能将字符串S分成三段非空回文串 分析 manacher预处理出前缀和后缀回文的位置, 枚举第 ...

  5. idea常用快捷键及自定义快捷键汇总

    以下都是挨个进行验证过的 生成get和set方法为:alt+insert 自动补全返回值,自动补全变量名称和属性名称:ctrl+alt+v 输入System.out.println()的快捷方法是:输 ...

  6. Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南

    Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 Update : 2019.03.08 0. 环境说明 硬件:Ryzen R ...

  7. Listbox的操作,数据源变化时要及时更新listbox要先把数据源置空,在给数据源绑定数据

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. js设置div透明度

    原生js设置透明度 为了兼容IE与其他浏览器对透明度的设置,我们需要对以上两种样式分别进行设置: 复制代码代码如下: var alpha = 30; //透明度值变量 var oDiv = docum ...

  9. 微信小程序的页面渲染(if/for)

    下面,粗略的介绍一下微信小程序的条件渲染.列表渲染.数据绑定等,详细的内容大家可以去看微信小程序的API,在此只做简单描述,希望能帮助到大家 条件渲染 <!--wxml--> <vi ...

  10. 2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践

    2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践 --------CONTENTS-------- 1. 免杀原理与实践说明 实验说明 基础问题回答 2. 使用msf ...