(Oracle管理)ORACLE数据库sqlplus使用技巧
OracleSqlplus命令登录多种方式案例讲解
OracleSqlplus命令登录多种⽅式案例讲解⽬录Oracle Sqlplus命令登录的⼏种⽅式1. sqlplus / as sysdba2. sqlplus “/as sysdba”3. sqlplus username/pwd@host/service_name4. sqlplus /nologOracle Sqlplus命令登录的⼏种⽅式sqlplus 命令语法sqlplus [ [<option>] [{logon | /nolog}] [<start>] ]<option> 为: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]-C <version> 将受影响的命令的兼容性设置为<version> 指定的版本。
该版本具有"x.y[.z]" 格式。
例如, -C 10.2.0-L 只尝试登录⼀次, ⽽不是在出错时再次提⽰。
-M "<options>" 设置输出的⾃动 HTML 标记。
选项的格式为:HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text][ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]-R <level> 设置受限(restricted)模式, 以禁⽤与⽂件系统交互的SQL*Plus 命令。
级别可以是 1, 2 或 3。
最⾼限制级别为 -R 3, 该级别禁⽤与⽂件系统交互的所有⽤户命令。
-S 设置⽆提⽰(slient)模式, 该模式隐藏命令的提⽰和回显的显⽰。
<logon> 为: {<username>[/<password>][@<connect_identifier>] | / }[AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]指定数据库帐户⽤户名, ⼝令和数据库连接的连接标识符。
sqlplus的使用
前言SQL*PLUS是Oracle公司提供的一个工具程序,可以用于运行SQL语句和PL/SQL程序块、处理数据、生成报表、控制屏幕显示和打印输出。
从Oracle 8i开始,SQL*PLUS还可以用于执行数据库管理操作,包括启动数据库、关闭数据库、备份和恢复数据库等。
SQL*PLUS分两种运行方式:sqlplus.exe 和sqlplusw.exesqlplus.exe是Dos版本sqlplusw.exehttp://192.168.5.2:5560/isqlplus第三方厂商的sql开发工具Sqlplusw比较常用,因为编辑方便。
格式化输出:⏹在使用SQL*Plus执行查询操作时,经常会遇到查询结果的显示格式非常混乱的情况,遇到此种问题时,通常可以使用以下3种方法:⏹忍受它。
⏹查询少量的列。
⏹格式化查询结果。
SET LINESIZE 80; 制定行显示宽度SET PAGESIZE 80; 用于设置每页所显示的行数以上命令只能在sqlplus中为显示方便而使用,编程时不使用。
Sqlplus本身编辑性能比较差,往往使用ed 文件名,打开nodepad,需要确认建立文件,编辑完后,保存退出,在sqlplus界面上,使用@ 文件名形式。
当使用外部文件的sql语句时,用@+绝对路径执行。
如果是sql结尾,则可省略,如c:\sqltest查看某个表格的结构,用DESC(RIBE) tablename;Sqlplus的sql使用快捷指令:R(un)或/ 运行缓存sql指令L(ist)显示缓存内容A 追加内容到缓存C 更新缓存内容CL BUFF 清除Sqlplus的文件支持指令:Sav(e)文件名:保存缓存内容到指定文件中Sta(rt)或@ 文件名:运行一个文件Get 文件名:只载入不运行Spo 文件名/ spo off : 将结果输出到指定文件中Sqlplus对管理的支持:显示当前用户:show user切换用户:conn 用户名/密码[as sysdba]调用非本用户的table,必须写用户名.table建立新用户:create user 用户名identified by 密码给新用户授权:GRANT connect,resource TO 用户名删除用户:DROP user用户名解锁用户:alter user 用户名account unlock;锁定用户:alter user 用户名account lock;修改用户密码:alter user 用户名identified by 密码启动数据库: startup关闭数据库:shutdown immediateDOS指令:HOST dos命令作业:1、在oracle系统中有一个大数据用户账号,是sh,现在处于锁定状态,请将其解锁,并设置其密码为sh。
sqlplus 查询建表语句
SQL*Plus(即 SQL*Plus)是 Oracle 数据库管理系统中的一个工具,它允许用户以交互式的方式使用 SQL 语言进行数据库操作。
在SQL*Plus 中,用户可以执行各种SQL 命令,包括查询、插入、更新、删除等操作。
其中,查询建表语句是常见的需求之一,它允许用户查看数据库中已经创建的表的表结构。
下面将介绍如何在 SQL*Plus 中查询建表语句,并提供具体的操作步骤和示例。
1. 进入 SQL*Plus需要使用命令行或终端进入 SQL*Plus。
在命令行中输入以下命令并按Enter 键:```sqlplus username/passwordconnect_identifier```其中,`username` 是数据库用户的用户名,`password` 是该用户的密码,`connect_identifier` 是数据库的连接标识符(数据库的 SID 或服务名)。
输入完毕后,按下 Enter 键,系统会提示输入密码,输入密码后按下 Enter 键即可登录 SQL*Plus。
2. 查询建表语句登录成功后,即可输入SQL 命令进行查询建表语句。
具体的命令如下:```DESCRIBE table_name;```其中,`table_name` 是需要查询的表的名称。
执行以上命令后,系统会返回该表的表结构信息,包括各个字段的名称、数据类型、约束等。
3. 示例假设有一个名为 `employees` 的表,我们可以通过以下步骤查询该表的建表语句:1. 进入 SQL*Plus。
在命令行中输入以下命令并按 Enter 键:```sqlplus scott/tigerorcl```2. 查询建表语句。
在 SQL*Plus 中输入以下命令并按 Enter 键:```DESCRIBE employees;```执行以上命令后,系统会返回 `employees` 表的表结构信息,类似如下:```Name Null? Type----------------------------------------- -------- ----------------------------EMPLOYEE_ID NOT NULL NUMBER(6)FIRST_NAME VARCHAR2(20)LAST_NAME NOT NULL VARCHAR2(25)EM本人L NOT NULL VARCHAR2(25)PHONE_NUMBER VARCHAR2(20)HIRE_DATE NOT NULL DATEJOB_ID NOT NULL VARCHAR2(10)SALARY NUMBER(8,2)COMMISSION_PCT NUMBER(2,2)MANAGER_ID NUMBER(6)DEPARTMENT_ID NUMBER(4)通过以上示例,我们可以看到 `employees` 表的建表语句,从而了解该表的结构和字段类型。
ORACLElinux下sqlplus命令
ORACLElinux下sqlplus命令⼀、ORACLE的启动和关闭 1、在单机环境下要想启动或关闭ORACLE系统必须⾸先切换到ORACLE⽤户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quitoracle关闭的⼏种⽅式:shutdown(正常的库关闭,等待每个⽤户的数据库连接断开,才可以关闭。
);shutdown immediate(每个⽤户在执⾏完当前的SQL后,⽴即关闭。
平时⽤的⽐较多的是这个);shutdown abort(强制关闭) 启动oracle9i数据库命令: $ sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect / as sysdba Connected to an idle instance. SQL> startup^C SQL> startup ORACLE instance started. 2、在双机环境下要想启动或关闭ORACLE系统必须⾸先切换到root⽤户,如下 su - root a、启动ORACLE系统 hareg -y oracle b、关闭ORACLE系统 hareg -n oracle Oracle数据库有哪⼏种启动⽅式 说明: 有以下⼏种启动⽅式: 1、startup nomount ⾮安装启动,这种⽅式启动下可执⾏:重建控制⽂件、重建数据库 读取init.ora⽂件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora⽂件。
Oracle第二讲 SQLPlus的基本使用天津工业大学
2.2.2 SET命令
• 例2.13:下面的查询语句查询了V_$PARAMETER 视图的定义,如果不使用SET LONG命令设置text 列的显示长度则不能完全显示该列的内容。
• 例2.2:以数据库管理员的身份登录到数据库中。
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved.
2.1.1 sqlplus命令
• 例2.6:以数据库操作员的身份登录到数据库中。 sqlplus sys/linDB123 as sysoper
tabs;
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved. 13
2.2 SQL*Plus常用命令
• 2.2.1 HELP命令。 • 2.2.2 SET命令。 • 2.2.3 SHOW命令。 • 2.2.4 PROMPT命令。 • 2.2.2 SAVE和@命令。 • 2.2.6 EDIT命令。 • 2.2.7 RUN(/)命令。
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved.
2.1 登录到数据库
2.1.1 sqlplus命令。 2.1.2 connect命令。
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved.
2.2.1 help命令
sqlplus使用教程
Sqlplus基本操作1.登陆用户:sqlplus /as sysdba --以操作系统权限认证的oracle sys管理员登陆conn /as sysdba --不在cmd或者terminal当中暴露密码的登陆方式sqlplus scott/tiger --非管理员用户登陆sqlplus scott/tiger@orcl --非管理员用户使用tns别名登陆sqlplus sys/password@orcl as sysdba --管理员用户使用tns别名登陆sqlplus --不显露密码的登陆方式Enter user-name:sysEnter password:password as sysdba--以sys用户登陆的话必须要加上 as sysdba 子句cmd下登陆:sqlplus /nolog --进入sqlplus环境,如果直接打来sqlplus则不用这一步conn /as sysdba --以系统管理员身份(sysdba)登陆数据库2.用户管理系统用户sys;//系统管理员,拥有最高权限system;//本地管理员,次高权限scott;//普通用户,密码默认为tiger,默认未解锁登陆sqlplus / as sysdba;//登陆sys帐户sqlplus sys as sysdba;//登陆sys账户,方法二sqlplus scott/tiger;//登陆普通用户scott管理用户create user starive;//在管理员帐户下,创建用户starivealert user scott identified by tiger;//修改密码解锁scott用户:cmd下sqlplus /nolog --进入sqlplus环境conn /as sysdba --以系统管理员身份(sysdba)登陆数据库也可:sqlplus请输入用户名:sys输入口令:sys as sysdba //注意:在口令这里输入的密码后面必须要跟上as sysdba 才可以然后:alter user scott account unlock;commit;conn scott/tiger输入新口令:tiger。
sqlplus命令
14、增加数据库用户:(test11/test)
create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;
15、用户授权:
3、将显示的内容输出到指定文件
SQL幕上的所有内容都包含在该文件中,包括你输入的sql语句。
关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
conn sys/change_on_install as sysdba;
4、SQL>startup; 启动数据库实例
5、 查看当前的所有数据库: select * from v$database;
select name from v$database;
desc v$databases; 查看数据库结构字段
----------------------------------------------------------------------------------------------------------------------
oracle数据库时常用的操作命令最近遇到一个使用了oracle数据库的服务器,在狂学oracle+请教高手后终于搞到了网站后台管理界面的所有用户密码,我发现oracle操作起来真是太麻烦,为了兄弟们以后少走些弯路,我把入侵当中必需的命令整理出来,一个星期的心血,版权所有,转载请注明作者.
SQL>set TIMING {ON|OFF}
sqlplus 查询建表语句
sqlplus 查询建表语句摘要:一、引言二、SQLplus 简介三、创建表的基本语法四、使用SQLplus 创建表的实例五、创建表时需要注意的要点六、总结正文:一、引言SQLplus 是Oracle 数据库的一个命令行工具,它允许用户通过交互式方式执行SQL 语句,进行数据库操作。
在数据库设计中,创建表是非常重要的一个步骤。
本文将介绍如何使用SQLplus 查询建表语句。
二、SQLplus 简介SQLplus 是一个强大的数据库管理工具,它支持大部分的SQL 语法,可以执行创建表、插入数据、查询数据、修改数据等操作。
在Oracle 数据库中,SQLplus 是默认的命令行工具,可以通过它执行所有的SQL 语句。
三、创建表的基本语法在SQLplus 中,创建表的语法如下:```CREATE TABLE 表名(列名1 数据类型,列名2 数据类型,...);```其中,表名需要符合标识符的命名规则,列名也需要符合标识符的命名规则,数据类型包括字符型、数字型、日期型等。
四、使用SQLplus 创建表的实例假设我们要创建一个名为`students`的表,包括`id`、`name`、`gender`、`age`、`class`五列,数据类型分别为`number`、`varchar2`、`char`、`number`、`varchar2`,可以使用以下SQL 语句创建:```CREATE TABLE students (id NUMBER,name VARCHAR2,gender CHAR,age NUMBER,class VARCHAR2);```五、创建表时需要注意的要点1.表名和列名需要符合标识符的命名规则,不能包含空格、小于号、大于号等特殊字符。
2.数据类型需要与实际存储的数据类型相匹配,例如,存储整数时不能使用字符型数据类型。
3.在创建表时,可以指定主键、外键等约束条件,以保证数据的完整性和一致性。
oracle数据库登录方法
oracle数据库登录方法Oracle数据库是一种关系型数据库管理系统,常用于企业级应用程序的数据存储与处理。
登录Oracle数据库是使用数据库账号和密码进行身份验证的过程。
本文将介绍Oracle数据库的登录方法。
Oracle数据库提供了多种登录方式,包括SQL*Plus、SQL Developer和SQLcl等。
以下是具体的登录方法:1. SQL*Plus登录方法:SQL*Plus是Oracle提供的一种命令行工具,可以通过它登录到Oracle数据库。
在命令行界面输入以下命令:```sqlplus 用户名/密码@数据库连接字符串```其中,用户名是数据库账号的名称,密码是账号对应的密码,数据库连接字符串指定了数据库的位置和名称。
例如:```sqlplus scott/tiger@localhost:1521/orcl```这样就可以使用用户名为scott,密码为tiger的账号登录到位于本地主机的1521端口上的orcl数据库。
2. SQL Developer登录方法:SQL Developer是Oracle提供的图形化界面工具,可以通过它登录到Oracle数据库。
打开SQL Developer,点击菜单栏中的“新建连接”按钮,弹出连接窗口。
在连接窗口中输入以下信息:- 连接名称:给连接起个名称,用于标识不同的数据库连接。
- 用户名:数据库账号的名称。
- 密码:账号对应的密码。
- 主机名:数据库所在主机的名称或IP地址。
- 端口:数据库监听的端口号。
- SID(或服务名):数据库的SID(或服务名),用于标识不同的数据库实例。
点击“测试”按钮,确认连接信息无误后,点击“连接”按钮即可登录到数据库。
3. SQLcl登录方法:SQLcl是Oracle提供的另一种命令行工具,功能类似SQL*Plus,但具有更多的特性和扩展。
在命令行界面输入以下命令:```sql 用户名/密码@数据库连接字符串```其中,用户名、密码和数据库连接字符串的含义与SQL*Plus相同。
sqlPlus操作指南
---------- ------------------- -------------------
SCOTT ¥3000.00 04/19/1987 00:00:00
(2)在windows环境中运行sql*plus
如果在windows环境中安装了oralce数据库产品,那么可以在窗口环境中运行sql*plus
具体方法: "开始->程序->oracle-oradb10g_home1->application development->sql*plus"
2.连接命令
sql>col ename clear
sql>col sal clear
sql>select ename,sal,hiredate from emp
sql>where empno=7788;
(2)title
该命令用于指定页标题,页标题会自动显示在页的中央。如果页标题由多个词组成,则用单引号引住。如果要将页
SQL> l
1 select ename
2* from emp
如果一次要删除多行,则指定起始行号和终止行号,例如"del 3 5"
(5)i[nput]
该命令用于在sql缓冲区的当前行后新增加一行。示例如下:
SQL> l
1 select ename
3* where deptno=10
sql>a and job='CLERK'
sql>l
SQL> list
1 select empno,ename,sal,hiredate,comm,deptno
oracle的sqlplus sql model的用法
oracle的sqlplus sql model的用法一、概述SQLPlus是Oracle数据库提供的一个命令行工具,用于与数据库进行交互。
它允许用户执行SQL语句,查看数据库状态,创建和管理数据库对象等。
SQLModel 是SQLPlus中的一个重要功能,它提供了一种可视化的方式来创建和编辑SQL模型。
本篇文章将详细介绍Oracle的SQLPlusSQLModel的用法。
二、使用SQLPlus要使用SQLPlus,首先需要确保已经安装了Oracle数据库,并且已经配置了正确的环境变量。
然后,可以通过在命令行中输入以下命令来启动SQLPlus:```sqlplususername/password@database```其中,username是数据库用户名,password是用户密码,database是连接的数据库名称。
成功登录后,将会进入SQLPlus的命令行界面。
三、使用SQLModel在SQLPlus中,可以使用SQLModel来创建和编辑SQL模型。
SQLModel提供了一个图形化界面,可以直观地创建表、视图、索引等数据库对象。
以下是使用SQLModel的一般步骤:1.打开SQLPlus并连接到数据库。
2.在命令行中输入“SQL”命令,进入SQL模式。
3.输入“SHOWSESSION”命令,查看当前会话信息。
4.输入“CREATEMODEL”命令,并指定模型名称和数据源(通常是数据库)。
5.在模型界面中,可以创建表、视图、索引等数据库对象,并定义它们的属性和关系。
6.保存模型并退出模型编辑器。
7.可以通过“EXECUTE”命令执行模型中的SQL语句,查看结果。
下面是一个简单的示例,展示如何使用SQLModel创建一个简单的数据库模型:1.打开SQLPlus并连接到数据库。
2.输入“CREATEMODELmy_model_nameON(your_schema)SAMPLEyour_sample_data”,其中your_schema是包含数据的用户模式名称,your_sample_data是一个包含数据样例的文本文件路径。
oracle基本操作命令
oracle基本操作命令Oracle是目前最为流行和广泛使用的数据库管理系统之一,它可以帮助企业轻松高效地进行数据管理和分析。
作为一个Oracle数据库管理员或开发人员,了解一些基本操作命令,对于日常工作和维护数据库是非常必要的。
下面我们来简单介绍一些Oracle基本操作命令。
1. 登录数据库Oracle的登录命令为:sqlplus /nolog,它会打开一个sql>的命令行,提示用户输入数据库账号和密码登陆。
2. 创建表格Oracle通过create table命令来创建表格。
它的基本格式为:create table tablename (columnname datatype, columnnamedatatype, …);3. 插入数据通过insert命令可以将数据插入表格中。
格式为:insert into tablename(column1, column2, ...) values(value1, value2, ...);4. 查询数据Oracle的查询语句为select。
例如:select * from tablename,将会显示表格中的所有数据。
5. 更新数据通过update命令可以更新表格中的数据。
格式为:update tablename set column=value where condition;6. 删除数据和表格Oracle的删除语句为delete和drop。
delete用于删除表格中的数据,格式为:delete from tablename where condition;而drop则是直接删除整个表格,格式为:drop table tablename;以上是Oracle基本操作命令的简单介绍。
当然,Oracle还有很多高级功能和操作命令,需要用户自行查找学习。
掌握一些基本操作命令,可以使用户更好的管理和维护Oracle数据库,提高工作效率。
SQLPLUS的使用
SQL*PLUS的启动和使用1.SQL*PLUS的启动在UNIX平台下,登录用户的.profile文件(或者.login)文件中要配置了有关Oracle数据库的信息。
形如下例所示:DISPLAY=IPADDRESS:0.0ORACLE_HOME=/usr/oracle/app/oracle/product/8.1.6PATH=$ORACLE_HOME/bin:/usr/bin:/etc:/usr/ccs/bin:/usr/bin/X11:/usr/local/bin:$PATH:.NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16cgb231280'ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataORACLE_SID=o816LD_LIBRARY_PA TH=$ORACLE_HOME/lib:/usr/libexport DISPLAY ORACLE_HOME PATH NLS_LANG ORA_NLS33 ORACLE_SID LD_LIBRARY_PA TH这样就可以使用SQL*PLUS了。
SQL*PLUS的启动输入有几种方式。
1.1快速启动这种方式直接在命令行敲入所有的参数,不用提示。
Host>sqlplus UserName/passwd@RemoteDatabaseName其中:UserName是数据库系统管理员分配给你的用户名,passwd则是对应的密码。
RemoteDatabaseName则是远端数据库的名字,若你想在本地终端上连接远端数据库时,就需要加上这一项,若只是连接本地数据库,则只需UserName和passwd就足够了。
RemoteDatabaseName应该是db_domain和db_name组成的,但在香港,因为我们用了复制,所以用global_name做为各个数据库的名字。
010405【任务1-4-5】使用SQL Plus工具连接与断开数据库
然后在提示符“SQL>”后面输入以下语句:
DisConn ;
然后按【Enter】键,显示如下所示的结果:
从 Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 断开
3
【任务实施】
(1)使用SQL Plus命令连接与断开数据库
在【SQL Plus】窗口提示符“SQL>”后面输入
以下语句:
Conn System/Oracle_12C ;
然后按【Enter】键,显示“已连接。”的结果。
4
然后在提示符“SQL>”后面输入以下语句:
Select * From System.help Where rownum<6 ;
Oracle 12c 数据库应用与设计
《 Oracle 12c数据库应用与设计》
单元1 登录Oracle数据库与试用 Oracle的常用工具
1.3 试用Oracle的常用工具
【任务1-4】试用SQL Plus命令行
管理工具实现多项操作
2
《 Oracle 12c数据库应用与设计》
【任务1-4-5】使用SQL Plus工具连接与 断开数据库
9
《 Oracl所示的结果。
TOPIC SEQ INFO --------- --------- ---------@ 1 @ 2 @ ("at" sign) @ 3 ------------@ 4 Runs the SQL*Plus statements in the specified script. The script can be @ 5 called from the local file system or a web server.
SQLPlus的使用详解(登录和常用命令)
SQLPlus的使⽤详解(登录和常⽤命令)1.SQL Plus简介SQL Plus⼯具是随 Oracle数据库服务器或客户端的安装⽽⾃动进⾏安装的管理与开发⼯具, Oracle数据库中所有的管理操作都可以通过 SQLPlus⼯具完成。
SQLPlus可以运⾏于任何Oracle数据库运⾏的操作系统平台,其使⽤⽅法基本相同。
利⽤ SQLPlus可以实现以下操作:输⼊、编辑、存储、提取、运⾏和调试SQL语句和PL/SQL程序;开发、执⾏批处理脚本;执⾏数据库管理;处理数据、⽣成报表、存储、打印、格式化查询结果;检查表和数据库对象定义;启动/关闭数据库实例。
2.登录SQL plus1.运⾏SQLPLUS⼯具 C:\Users\wd-pc>sqlplus2、直接进⼊SQLPLUS命令提⽰符 C:\Users\wd-pc>sqlplus /nolog3、以OS⾝份连接 C:\Users\wd-pc>sqlplus / as sysdba 或 SQL>connect / as sysdba4、普通⽤户登录 C:\Users\wd-pc>sqlplus scott/123456 或 SQL>connect scott/123456 或 SQL>connect scott/123456@servername5、以管理员登录 C:\Users\wd-pc>sqlplus sys/123456 as sysdba 或 SQL>connect sys/123456 as sysdba6、退出 SQL>exit3.SQL Plus 常⽤命令1.sql>show user;查看当前⽤户2.conn命令先断开当前连接,然后建⽴新的连接。
该命令的语法是:SQL>CONN[username]/[password] [econnect_identifier]例如:SQL>conn hr/123456 注:conn同connect3.DISC该命令的作⽤是断开与数据库的连接,但不退出SQLPlus环境,如:4.编辑命令当在SQLPlus中输⼊SQL语句或PL/SQL程序时,最近输⼊的⼀条SQL语句或程序PL/SQL代码会暂时存放到SQL缓冲区中。
sqlplus中常用设置参数
sqlplus中常⽤设置参数⼀、各种设置参数解释Sql*plus是⼀个最常⽤的⼯具,具有很强的功能,主要有: 1. 数据库的维护,如启动,关闭等,这⼀般在服务器上操作。
2. 执⾏sql语句执⾏pl/sql。
3. 执⾏sql脚本。
4. 数据的导出,报表。
5. 应⽤程序开发、测试sql/plsql。
6. ⽣成新的sql脚本。
7. 供应⽤程序调⽤,如安装程序中进⾏脚本的安装。
8. ⽤户管理及权限维护等。
⼆、下⾯就介绍⼀下⼀些常⽤的sql*plus命令: 1. 执⾏⼀个SQL脚本⽂件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在⼀个⽂本⽂件中,这样当要执⾏这个⽂件中的所有的sql语句时,⽤上⾯的任⼀命令即可,这类似于dos中的批处理。
@与@@的区别是什么? @等于start命令,⽤来运⾏⼀个sql脚本⽂件。
@命令调⽤当前⽬录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本⽂件。
该命令使⽤是⼀般要指定要执⾏的⽂件的全路径,否则从缺省路径(可⽤SQLPATH变量指定)下读取指定的⽂件。
@@⽤在sql脚本⽂件中,⽤来说明⽤@@执⾏的sql脚本⽂件与@@所在的⽂件在同⼀⽬录下,⽽不⽤指定要执⾏sql脚本⽂件的全路径,也不是从SQLPATH环境变量指定的路径中寻找sql脚本⽂件,该命令⼀般⽤在脚本⽂件中。
如:在c:\temp⽬录下有⽂件start.sql和nest_start.sql,start.sql脚本⽂件的内容为: @@nest_start.sql - - 相当于@ c:\temp\nest_start.sql 则我们在sql*plus中,这样执⾏: SQL> @ c:\temp\start.sql附注:也可以在shell中运⾏,例如sqlplus '/as sysdba' @C:\temp\start.sql2. 对当前的输⼊进⾏编辑 SQL>edit 3. 重新运⾏上⼀次运⾏的sql语句 SQL>/ 4. 将显⽰的内容输出到指定⽂件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该⽂件中,包括你输⼊的sql语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sql*plus中蕴藏着好多技巧,如果掌握这些技巧,对于在oracle数据库下进行快速开发与有效维护数据库都是有益的。
1.使用SQL*PLUS动态生成批量脚本将spool与select命令结合起来使用,可以生成一个脚本,脚本中包含有可以批量执行某一任务的语句。
例1:生成一个脚本,删除SCOTT用户下的所有的表:a. 创建gen_drop_table.sql文件,包含如下语句:SPOOL c:\drop_table.sqlSELECT 'DROP TABLE '|| table_name ||';' FROM user_tables;SPOOL OFFb. 以SCOTT用户登录数据库SQLPLUS > @ …..\gen_dorp_table.sqlc. 在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示:SQL>SELECT 'DROP TABLE '|| table_name ||';' FROM user_tables;'DROPTABLE'||TABLE_NAME||';'------------------------------------DROP TABLE DEPT;DROP TABLE EMP;DROP TABLE PARENT;DROP TABLE STA T_VENDER_TEMP;DROP TABLE TABLE_FORUM;5 rows selected.SQL>SPOOL OFFd. 对生成的drop_table.sql文件进行编辑去掉不必要的部分,只留下drop table …..语句e. 在scott用户下运行dorp_table.sql文件,删除scott用户下所有的表。
SQLPLUS > @ c:\dorp_table.sql在上面的操作中,在生成的脚本文件中会有多余的字符,如运行的sql语句,标题,或返回的行数,需要我们编辑该脚本后再运行,给实际的操作带来诸多不便。
懒惰是人的本性,这促使我们用更简单的办法来实现上面的任务。
a. 创建gen_drop_table.sql文件,包含如下语句:set echo offset feedback offset newpage noneset pagesize 5000set linesize 500set verify offset pagesize 0set term offset trims onset linesize 600set heading offset timing offset verify offset numwidth 38SPOOL c:\drop_table.sqlSELECT 'DROP TABLE '|| table_name ||';' FROM user_tables;SPOOL OFFb. 以SCOTT用户登录数据库SQLPLUS > @ …..\gen_dorp_table.sqlc. 在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示: DROP TABLE DEPT;DROP TABLE EMP;DROP TABLE PARENT;DROP TABLE STA T_VENDER_TEMP;DROP TABLE TABLE_FORUM;d. 在scott用户下运行dorp_table.sql文件,删除scott用户下所有的表。
SQLPLUS > @ c:\dorp_table.sql2.将一个表中的数据导出生成一个文本文件,列与列之间以”,”隔开set echo offset feedback offset newpage noneset pagesize 5000set linesize 500set verify offset pagesize 0set term offset trims onset linesize 600set heading offset timing offset verify offset numwidth 38SPOOL c:\drop_table.sqlselect DEPTNO || ',' || DNAME FROM DEPT;SPOOL OFF将上面的内容保存为一个文本文件后,以scott登录,执行该文件后显示结果:10,ACCOUNTING20,RESEARCH30,SALES40,OPERATIONS通过上面的两个例子,我们可以将:set echo offset feedback offset newpage noneset pagesize 5000set linesize 500set verify offset pagesize 0set term offset trims onset linesize 600set heading offset timing offset verify offset numwidth 38SPOOL c:\具体的文件名你要运行的sql语句SPOOL OFF作为一个模版,只要将必要的语句加入这个模版就可以了。
在oracle的较新版本中,还可以用set colsep命令来实现上面的功能:SQL> set colsep ,SQL> select * from dept;10,ACCOUNTING,NEW YORK20,RESEARCH,DALLAS30,SALES,CHICAGO40,OPERATIONS,BOSTON35,aa,bb3.动态生成spool命令所需的文件名在我们上面的例子中,spool命令所需要的文件名都是固定的。
有时我们需要每天spool 一次,并且每次spool的文件名都不相同,如文件名包含当天的日期,该如何实现呢?column dat1 new_value filename;select to_char(sysdate,'yyyymmddhh24mi') dat1 from dual;spool c:\&&filename..txtselect * from dept;spool off;4.如何从脚本文件中得到WINDOWS环境变量的值:在windos中:spool c:\temp\%ORACLE_SID%.txtselect * from dept;spool off在上面的例子中,通过%ORACLE_SID%的方式引用环境变量ORACLE_SID的值,如果ORACLE_SID的值为orcl,则生成的spool文件名为:orcl.txt在UNIX中:spool c:\temp\$ORACLE_SID.txtselect * from dept;...spool off在上面的例子中,通过$ORACLE_SID的方式引用环境变量ORACLE_SID的值,如果ORACLE_SID的值为orcl,则生成的spool文件名为:orcl.txt5.如何指定缺省的编辑脚本的目录在sql*plus中,可以用save命令,将上一条执行的sql语句保存到一个文件中,但是如何设置该文件的缺省目录呢?通过SQL> set editfile c:\temp\file.sql 命令,可以设置其缺省目录为c:\tmpe,缺省文件名为file.sql。
6.如何除去表中相同的行找到相同的行:SELECT * FROM dept aWHERE ROWID <> (SELECT MAX(ROWID)FROM dept bWHERE a.deptno = b.deptnoAND a.dname = b.dname-- Make sure all columns are comparedAND a.loc = b.loc);注释:如果只找deptno列相同的行,上面的查询可以改为:SELECT * FROM dept aWHERE ROWID <> (SELECT MAX(ROWID)FROM dept bWHERE a.deptno = b.deptno)删除相同的行:DELETE FROM dept aWHERE ROWID <> (SELECT MAX(ROWIDFROM dept bWHERE a.deptno = b.deptnoAND a.dname = b.dname -- Make sure all columns are comparedAND a.loc = b.loc);注意:上面并不删除列值为null的行。
7.如何向数据库中插入两个单引号(’’)Insert inot dept values(35,’aa’’’’bb’,’a’’b’);在插入时,用两个’表示一个’。
8.如何设置sql*plus的搜寻路径,这样在用@命令时,就不用输入文件的全路径。
设置SQLPATH环境变量。
如:SQLPATH = C:\ORANT\DBS;C:\APPS\SCRIPTS;C:\MYSCRIPTS9.@与@@的区别是什么?@等于start命令,用来运行一个sql脚本文件。
@命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本文件。
@@用在脚本文件中,用来指定用@@执行的文件与@@所在的文件在同一目录,而不用指定全路径,也不从SQLPATH环境变量指定的路径中寻找文件,该命令一般用在嵌套脚本文件中。
10.&与&&的区别&用来创建一个临时变量,每当遇到这个临时变量时,都会提示你输入一个值。
&&用来创建一个持久变量,就像用用define命令或带new_vlaue字句的column命令创建的持久变量一样。
当用&&命令引用这个变量时,不会每次遇到该变量就提示用户键入值,而只是在第一次遇到时提示一次。
如,将下面三行语句存为一个脚本文件,运行该脚本文件,会提示三次,让输入deptnoval 的值:select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;将下面三行语句存为一个脚本文件,运行该脚本文件,则只会提示一次,让输入deptnoval的值:select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;11.引入copy的目的Copy命令在两个数据库之间拷贝数据时特别有用,特别是该命令可以在两个数据库之间传递long型字段的数据。