oracle命令行大全
Oracle常用SQL命令
Oracle常⽤SQL命令创建表空间1.创建默认表空间WLP_DATCREATE TABLESPACE "MYSPACE" DATAFILE'D:\oracle\oradata\orcl\data/WLP_DAT.dbf' SIZE 32M REUSE AUTOEXTEND ON NEXT 32MLOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;2.创建临时表空间WLP_TEMP(⽤于缓存,可以不建)ALTER TABLESPACE "TEMP" ADD TEMPFILE'D:\oracle\oradata\orcl\data/WLP_TEMP.dbf' SIZE 32m REUSE autoextend on next 32m;创建⽤户并授权1CREATE USER "WLPING" PROFILE "DEFAULT"2 IDENTIFIED BY "123456"3DEFAULT TABLESPACE "MYSPACE" //默认指定表空间4TEMPORARY TABLESPACE "TEMP" //指定缓存表空间5 ACCOUNT UNLOCK; //⽤户⾮锁定67GRANT EXECUTE ON dbms_comparison TO "WLPING";8GRANT UNLIMITED TABLESPACE TO "XIR_MD";9GRANT "CONNECT" TO "XIR_MD";10GRANT "RESOURCE" TO "XIR_MD";1112-- GRANT DBA TO XIR_MD;PROFILE:Oracle系统中的profile可以⽤来对⽤户所能使⽤的数据库资源进⾏限制,使⽤Create Profile命令创建⼀个Profile,⽤它来实现对数据库资源的限制使⽤,如果把该profile分配给⽤户,则该⽤户所能使⽤的数据库资源都在该profile的限制之内。
常用oracle数据库命令
常用oracle数据库命令
1. 启动Oracle数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
3. 创建表空间
创建表空间的命令是:
SQL> create tablespace 表空间名 datafile '路径名' size 大小;
6. 创建用户
7. 删除用户
删除用户的命令是:
8. 授权用户
SQL> grant 权限 to 用户名;
9. 撤销用户的权限
11. 查看表结构
查看表结构的命令是:
SQL> desc 表名;
SQL> create table 表名 (列名数据类型, 列名数据类型, …);
13. 删除表
14. 插入数据
插入数据的命令是:
SQL> update 表名 set 列名=新值 where 某条件;
18. 创建索引
20. 查看索引
21. 查询相关信息
查询相关信息的命令是:
SQL> select * from v$session; -- 查看会话 22. 查看数据库版本
24. 备份数据库
$ exp 用户名/密码 file=备份文件路径备注:以上命令均需要在Oracle登录后进行。
oracle查询实例命令
oracle查询实例命令以下是一些Oracle数据库中常用的查询实例命令示例:1.查询表的所有数据:SELECT * FROM table_name;2.查询指定列的数据:SELECT column1, column2, ... FROM table_name;3.查询满足特定条件的数据:SELECT * FROM table_name WHERE condition;4.对结果进行排序:SELECT * FROM table_name ORDER BY column_name [ASC|DESC];5.使用聚合函数进行数据统计:SELECT COUNT(*) FROM table_name; -- 统计行数SELECT SUM(column_name) FROM table_name; -- 求和SELECT AVG(column_name) FROM table_name; -- 平均值SELECT MAX(column_name) FROM table_name; -- 最大值SELECT MIN(column_name) FROM table_name; -- 最小值6.连接多个表进行查询:SELECT t1.column1, t2.column2 FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id;7.使用条件进行分组:SELECT column1, COUNT(*) FROM table_name GROUP BY column1;8.使用LIKE进行模糊查询:SELECT * FROM table_name WHERE column_name LIKE 'keyword%';以上只是一些常见的查询示例,实际查询命令会根据具体的表结构和查询需求而有所不同。
在使用Oracle数据库时,请根据具体情况和需求构建和调整查询语句。
最详细的oracle rac日常基本维护命令
最详细的oracle rac日常基本维护命令以下是一些使用Oracle RAC进行日常基本维护的常用命令:1. CRSCTL命令:- crsctl check crs:检查集群资源状态。
- crsctl start crs:启动整个集群资源服务。
- crsctl stop crs:停止整个集群资源服务。
- crsctl disable crs:禁用整个集群资源服务。
- crsctl enable crs:启用整个集群资源服务。
2. SRVCTL命令:- srvctl start instance -db <database_name> -instance<instance_name>:启动指定的实例。
- srvctl stop instance -db <database_name> -instance<instance_name>:停止指定的实例。
- srvctl status instance -db <database_name> -instance<instance_name>:检查指定实例的状态。
- srvctl start service -db <database_name> -service <service_name>:启动指定的服务。
- srvctl stop service -db <database_name> -service <service_name>:停止指定的服务。
- srvctl status service -db <database_name> -service<service_name>:检查指定服务的状态。
3. SQL*Plus命令:- sqlplus / as sysdba:以SYS用户身份登录数据库。
- startup:启动数据库实例。
oracle_plsql语句大全
sql语句的编程手册SQL PLUS一、SQL PLUS1 引言SQL命令以下17个是作为语句开头的关键字:alter drop revokeaudit grant rollback*commit* insert selectcomment lock updatecreate noaudit validatedelete rename这些命令必须以“;”结尾带*命令句尾不必加分号,并且不存入SQL缓存区。
SQL中没有的SQL*PLUS命令这些命令不存入SQL缓存区@ define pause# del quit$ describe remark/ disconnect runaccept document saveappend edit setbreak exit showbtitle get spoolchange help sqlplusclear host startcolumn input timingcompute list ttitleconnect newpage undefinecopy---------2 数据库查询数据字典TAB 用户创建的所有基表、视图和同义词清单DTAB 构成数据字典的所有表COL 用户创建的基表的所有列定义的清单CA TALOG 用户可存取的所有基表清单select * from tab;describe命令描述基表的结构信息describe deptselect *from emp;select empno,ename,jobfrom emp;select * from deptorder by deptno desc;逻辑运算符= !=或<> > >= < <=inbetween value1 and value2like%_in nullnotno in,is not null谓词in和not in有哪些职员和分析员select ename,jobfrom empwhere job in ('clerk','analyst');select ename,jobfrom empwhere job not in ('clerk','analyst');谓词between和not between哪些雇员的工资在2000和3000之间select ename,job,sal from empwhere sal between 2000 and 3000;select ename,job,sal from empwhere sal not between 2000 and 3000;谓词like,not likeselect ename,deptno from empwhere ename like 'S%';(以字母S开头)select ename,deptno from empwhere ename like '%K';(以K结尾)select ename,deptno from empwhere ename like 'W___';(以W开头,后面仅有三个字母)select ename,job from empwhere job not like 'sales%';(哪些雇员的工种名不以sales开头)谓词is null,is not null没有奖金的雇员(即commision为null)select ename,job from empwhere comm is null;select ename,job from empwhere comm is not null;多条件查询select ename,jobfrom empwhere deptno=20and job!='clerk';表达式+ - * /算术表达式选择奖金高于其工资的5%的雇员select ename,sal,comm,comm/sal from emp where comm>.05*salorder by comm/sal desc;日期型数据的运算add two days to 6-Mar-876-Mar-87 + 2 = 8-Mar-87add two hours to 6-Mar-876-Mar-87 + 2/24 = 6-Mar-87 and 2hrsadd 15 seconds to 6-Mar-876-Mar-87 + 15/(24*60*60) = 6-Mar-87 and 15 secs列名的别名select ename employee from empwhere deptno=10;(别名:employee)select ename,sal,comm,comm/sal "C/S RATIO" from empwhere comm>.05*salorder by comm/sal desc;SQL命令的编辑list or l 显示缓冲区的内容list 4 显示当前SQL命令的第4行,并把第4行作为当前行,在该行号后面有个*。
oracle数据库语句汇总
oracle数据库语句汇总在Oracle数据库中,有许多常用的SQL语句可以用于查询、插入、更新和删除数据。
下面列举了一些常见的Oracle数据库语句,以供参考。
1. 查询表中的所有数据:```SELECT * FROM 表名;```2. 查询表中的特定字段数据:```SELECT 字段1, 字段2, ... FROM 表名;```3. 查询表中满足特定条件的数据:```SELECT * FROM 表名 WHERE 条件;```4. 对查询结果进行排序:```SELECT * FROM 表名 ORDER BY 字段 ASC/DESC;```5. 对查询结果进行分组:```SELECT 字段1, 字段2, ... FROM 表名 GROUP BY 字段;```6. 对查询结果进行统计:```SELECT COUNT(*) FROM 表名;```7. 插入数据到表中:```INSERT INTO 表名(字段1, 字段2, ...) VALUES (值1, 值2, ...);```8. 更新表中的数据:```UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 WHERE 条件;9. 删除表中的数据:```DELETE FROM 表名 WHERE 条件;```10. 创建新表:```CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型,...);```11. 修改表结构:```ALTER TABLE 表名 ADD (字段数据类型); ```12. 删除表:DROP TABLE 表名;```13. 创建索引:```CREATE INDEX 索引名 ON 表名 (字段);```14. 删除索引:```DROP INDEX 索引名;```15. 创建视图:```CREATE VIEW 视图名 AS SELECT * FROM 表名 WHERE 条件; ```16. 删除视图:```DROP VIEW 视图名;17. 创建存储过程:```CREATE PROCEDURE 存储过程名ISBEGIN-- 存储过程的具体逻辑END;```18. 调用存储过程:```EXEC 存储过程名;```以上是一些常见的Oracle数据库语句,可以满足大部分基本的数据操作需求。
Oracle常用命令大全(很有用,做笔记)
Oracle常⽤命令⼤全(很有⽤,做笔记)⼀、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须⾸先切换到ORACLE⽤户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须⾸先切换到root⽤户,如下su - roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪⼏种启动⽅式说明:有以下⼏种启动⽅式:1、startup nomount⾮安装启动,这种⽅式启动下可执⾏:重建控制⽂件、重建数据库读取init.ora⽂件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora⽂件。
2、startup mount dbname安装启动,这种⽅式启动下可执⾏:数据库⽇志归档、数据库介质恢复、使数据⽂件联机或脱机,重新定位数据⽂件、重做⽇志⽂件。
oracleset命令大全
oracleset命令大全oracle set命令详解SET命令参数详解我好如容易录入的,希望对大家有帮助,如果有错误也请指正.有更好的也请分享.SQL*PLUS维护系统变量,也称SET变量,利用它可为SQL*PLUS交互建立一个特殊的环境,如:设置NUMBER数据的显示宽度;设置每页的行数;设置列的宽度等。
可用SET命令改变这些系统变量,也可用SHOW命令列出它们.使用set命令的语法如下:SET 系统变量值其中系统变量及其可选值如下:ARRAY[SIZE] {20(默认值)|n}AUTO[COMMIT] {OFF(默认值)|ON|IMM[EDIATE]}BLO[CKTERMINATOR] {.(默认值)|C}CMDS[EP] {;|C|OFF(默认值)|ON}COM[PATIBILITY] {V5|V6|V7|NATIVE(默认值)}CON[CAT] {.(默认值)|C|OFF|ON(默认值)}COPYC[OMMIT] {0(默认值)|n}CRT crtDEF[INE] {&|C|OFF|ON(默认值)}ECHO {OFF|ON}EMBEDDED {OFF(默认值)|ON}ESC[APE] { (默认值)|C|OFF(默认值)|ON}FEED[BACK] {6(默认值)|n|OFF|ON}FLU[SH] {OFF|ON(默认值)}HEA[DING] {OFF|ON(默认值)}HEADS[EP] {|(默认值)|C|OFF|ON(默认值)}LONG {80(默认值)|n}LONGC[HUNKSIZE] {80(默认值)|n}MAXD[ATA] nNEWP[AGE] {1(默认值)|n}NULL textNUMF[ORMAT] 格式NUM[WIDTH] {10(默认值)|n}PAGES[IZE] {14(默认值)|n}PAU[SE] {OFF(默认值)|ON|text}RECSEP {WR[APPED](默认值)|EA[CH]|OFF} RECSEPCHAR { |C}SCAN {OFF|ON(默认值)}SERVEROUT[PUT] {OFF|ON} [SIZE n]SHOW[MODE] {OFF(默认值)|ON}SPA[CE] {1(默认值)|n}SQLC[ASE] {MIX[ED](默认值)|LO[WER]|UP[PER]} SQLCO[NTINUE] {>;(默认值)|文本}SQLN[UMBER] {OFF|ON(默认值)}SQLPER[FIX] {#(默认值)|C}SQLP[ROMPT] {SQL>;(默认值)|文本}SQLT[ERMINATOR] {;(默认值)|C|OFF|ON(默认值)} SUF[FIX] {SQL(默认值)|文本}TAB {OFF|ON(默认值)}TERM[OUT] {OFF|ON(默认值)}TI[ME] {OFF(默认值)|ON}TIMI[NG] {OFF(默认值)|ON}TRIM[OUT] {OFF|ON(默认值)}UND[ERLINE] {-(默认值)|C|OFF|ON(默认值)} VER[IFY] {OFF|ON(默认值)}系统变量说明:ARRAY[SIZE] {20(默认值)|n} 置一批的行数,是SQL*PLUS一次从数据库获取的行数,有效值为1至5000. 大的值可提高查询和子查询的有效性,可获取许多行,但也需要更多的内存.当超过1000时,其效果不大.AUTO[COMMIT] {OFF(默认值)|ON|IMM[EDIATE]} 控制ORACLE对数据库的修改的提交. 置ON时,在ORACLE执行每个SQL 命令或PL/SQL块后对数据库提交修改;置OFF时则制止自动提交,需要手工地提交修改,例如用SQL的COMMIT命令. IMMEDIATE功能同ON.BLO[CKTERMINATOR] {.(默认值)|C} 置非字母数字字符,用于结束PL/SQL块.要执行块时,必须发出RUN命令或/命令.CMDS[EP] {;|C|OFF(默认值)|ON} 置非字母数字字符,用于分隔在一行中输入的多个SQL/PLUS命令.ON或OFF控制在一行中是否能输入多个命令. ON时将自动地将命令分隔符设为分号(;).其中C表示所置字符.COM[PATIBILITY] {V5|V6|V7|NATIVE(默认值)} 指定当前所链接的ORACLE版本.如果当前ORACLE的版本为5,则置COMPATIBILITY 为V5; 为版本6时置成V6; 为版本7时置成V7. 如果希望由数据库决定该设置,在置成NATIVE.CON[CAT] {.(默认值)|C|OFF|ON(默认值)}设置结束一替换变量引用的字符.在中止替换变量引用字符之后可跟所有字符,作为体会组成部分,否则SQL*PLUS将解释为替换变量名的一部分.当CONCAT开关为ON时,SQL*PLUS可重置CONCAT的值为点(.).COPYC[OMMIT] {0(默认值)|n} 控制COPY命令提交对数据库修改的批数.每次拷贝n批后,将提交到目标数据库.有效值为0到5000. 可用变量ARRAYSIZE设置一批的大小.如果置COPYCOMMIT为0,则仅在COPY操作结束时执行一次提交.CRT crt 改变SQL*PLUS RUNFORM命令使用的缺省CRT文件.如果置CRT不包含什么,则crt仅包含''''.如果在一个Form的系统调用期间,要使用NEW.CRT(缺省CRT是OLD.CRT),可按下列形式调用Form: SQL>;RUNFORM -C NEW form名或者SQL>;SET CRT NEWSQL>;RUNFORM form名第二中方法存储CRT选择,以致在下次运行RUNFORM命令(是在同一次SQL*PLUS 交互中)时,不需要指定.DEF[INE] {&|C|OFF|ON(默认值)} 设置在替换变量时所使用的字符.ON或OFF控制SQL*PLUS是否扫描替换变量的命令及用他们的值代替. DEFINE的ON或OFF的设置控制SCAN变量的设置.ECHO {OFF|ON} 控制START命令是否列出命令文件中的每一命令.为ON时,列出命令;为OFF时,制止列清单.EMBEDDED {OFF(默认值)|ON} 控制每一报表在一页中开始的地方. 为OFF时,迫使每一报表是在新页的顶部开始;为ON时,运行一报表在一页的仸何位置开始.ESC[APE] { (默认值)|C|OFF(默认值)|ON} 定义作为Escape字符的字符.为OFF时,使Escape字符不起作用.为ON时,使Escape字符起作用.FEED[BACK] {6(默认值)|n|OFF|ON} 显示由查询返回的记录数.ON和OFF置显示为开或关.置FEEDBACK为ON时,等价于置n为1. 如果置FEEDBACK为0,等价于将它置成OFF.FLU[SH] {OFF|ON(默认值)} 控制输出送至用户的显示设备.为OFF 时,运行操作系统做缓冲区输出;为ON时,不允许缓冲. 仅当非交互方式运行命令文件时使用OFF,这样可减少程序I/O总是,从而改进性能.HEA[DING] {OFF|ON(默认值)} 控制报表中列标题的打印.为ON 时,在报表中打印列标题;为OFF时禁止打印列标题.HEADS[EP] {|(默认值)|C|OFF|ON(默认值)} 定义标题分隔字符.可在COLUMN命令中使用标题分隔符,将列标题分成多行.ON和OFF将标题分隔置成开或关.当标题分隔为关(OFF)时,SQL*PLUS打印标题分隔符像仸何字符一样.LIN[ESIZE] {80(默认值)|n} 置SQL*PLUS在一行中显示的字符总数,它还控制在TTITLE和BTITLE中对准中心的文本和右对齐文本. 可定义LINESIZE为1至最大值,其最大值依赖于操作系统.LONG {80(默认值)|n} 为显示和拷贝LONG类型值的最大宽度的设置. 对于ORACLE7, n的最大值为2G字节;对于版本6,最大值为32767.LONGC[HUNKSIZE] {80(默认值)|n} 为SQL*PLUS检索LONG类型值的增量大小.由于内存的限制,可按增量检索,该变量仅应用于ORACLE7.MAXD[ATA] n 置SQL*PLUS可处理的最大行宽字符数,其缺省值和最大值在不同操作系统中是可变的.NEWP[AGE] {1(默认值)|n} 置每一页的头和顶部标题之间要打印的空行数.如果为0, 在页之间送一换号符,并在许多终端上清屏.NULL text 设置表示空值(null)的文本,如果NULL没有文本,则显示空格(缺省时). 使用COLUMN命令中的NULL子句可控制NULL变量对该列的设置.NUMF[ORMAT] 格式设置显示数值的缺省格式,该格式是数值格式.NUM[WIDTH] {10(默认值)|n} 对显示数值设置缺省宽度.PAGES[IZE] {14(默认值)|n} 置从顶部标题至页结束之间的行数.在11英寸长的纸上打印报表,其值为54,上下各留一英寸(NEWPAGE值为6).PAU[SE] {OFF(默认值)|ON|text} 在显示报表时,控制终端滚动.在每一暂停时,必须按RETURN键.ON将引起SQL*PLUS在每一报表输出页开始时暂停.所指定的文本是每一次 SQL*PLUS暂停时显示的文本.如果要键入多个词,必须用单引号将文本括起来.RECSEP {WR[APPED](默认值)|EA[CH]|OFF}RECSEPCHAR { |C} 指定显示或打印记录分行符的条件.一个记录分行符,是由RECSEPCHAR指定的字符组成的单行.空格为RECSEPCHAR的默认字符.RECSEP 告诉SQL*PLUS在哪儿做记录分隔.例如将RECSEP置成WRAPPED,在每一缠绕行之后,打印记录分行符.如果将RECSEP置成EACH,SQL*PLUS在每一行后打印一记录分行符.如果将RECSEP置成OFF, SQL*PLUS不打印分行符.SCAN {OFF|ON(默认值)} 控制对存在的替换变量和值的扫描.OFF 禁止替换变量和值的处理; ON则允许正常处理.SERVEROUT[PUT] {OFF|ON} [SIZE n] 控制在SQL*PLUS中的存储过程是否显示输出.OFF时为禁止; ON时则显示输出. SIZE设置缓冲输出的字节数,缺省值为2000, n不能小于2000或大于一百万.SHOW[MODE] {OFF(默认值)|ON} 控制SQL*PLUS在执行SET命令时是否列出其新老值old或new的设置.SPA[CE] {1(默认值)|n} 设置输出列之间空格的数目,其最大值为10.SQLC[ASE] {MIX[ED](默认值)|LO[WER]|UP[PER]} 先于执行之前,将SQL命令和PL/SQL块的大小写进行转换. SQL*PLUS将转换命令中的全部文本,包括带引号的直接量和标示符.SQLCASE不改变SQL缓冲区本身.SQLCO[NTINUE] {>;(默认值)|文本} 在一附加行上继续一SQL*PLUS命令时,SQL*PLUS以该设置的字符序列进行提示.SQLN[UMBER] {OFF|ON(默认值)} 为SQL命令和PL/SQL块的第二行和后继行设置提示.为ON时,提示行号;为OFF时,提示设置为SQLPROMPT的值.SQLPER[FIX] {# (默认值)|C} 设置SQL*PLUS前缀字符.在键入一SQL命令或PL/SQL块时,可在单独行上键入一SQL*PLUS命令,由SQL*PLUS 的前缀字符做前缀. SQL*PLUS直接执行该命令,不影响SQL命令或PL/SQL块.前缀字符必须是非字母数字字符.SQLP[ROMPT] {SQL>;(默认值)|文本} 设置SQL*PLUS的命令提示符.SQLT[ERMINATOR] {;(默认值)|C|OFF|ON(默认值)} 设置用于结束和执行SQL命令的字符. OFF意味着SQL*PLUS不识别命令终止符,用键入空行来结束SQL命令. ON重设置终止符为默认的分号(;).SUF[FIX] {SQL(默认值)|文本} 设置缺省文件的后缀,SQL*PLUS在命令中使用,来引用命令文件. SUFFIX不控制输出(spool)文件的扩展名.TAB {OFF|ON(默认值)} 决定SQL*PLUS在终端输出中如何格式化空白空间. 为OFF时,在输出中使用空格格式化空白空间;为ON时,用TAB字符. TAB的缺省值依赖于系统,用SHOW TAB命令可查看该缺省值.TERM[OUT] {OFF|ON(默认值)} 控制由文件执行命令所产生的输出的显示. OFF禁止显示,以致从一个命令文件假脱机输出,在屏幕上看不到输出. ON时显示输出. TERMOUT OFF 不影响交互地进行命令的输出.TI[ME] {OFF(默认值)|ON} 控制当前日期的显示. ON时,在每条命令提示前显示当前时间; OFF时禁止时间的显示.TIMI[NG] {OFF(默认值)|ON} 控制时间统计的显示. ON时,显示每一个运行的SQL 命令或PL/SQL块的时间统计; OFF时,禁止每一个命令的时间统计.TRIM[OUT] {OFF|ON(默认值)} 决定SQL*PLUS在每一显示行的末端是否允许带空格. ON时将每行尾部的空格去了,特别当从慢速的通信设备存取SQL*PLUS时可改进性能; OFF时允许SQL*PLUS显示尾部的空格.TRIMOUT ON 不影响假脱机输出. 设置TAB ON时,SQL*PLUS忽略TRIMOUT ON.UND[ERLINE] {-(默认值)|C|OFF|ON(默认值)} 设置用在SQL*PLUS报表中下划线列标题的字符. ON或OFF将下划线置成开或关.VER[IFY] {OFF|ON(默认值)} 控制SQL*PLUS用值替换前、后是否列出命令的文本. ON时显示文本;OFF时禁止列清单.WRA[P] {OFF|ON(默认值)} 控制SQL*PLUS是否截断数据项的显示. OFF时截断数据项;ON时允许数据项缠绕到下一行. 在COLUMN命令中使用WRAPPED和TRUNCATED子句可控制对指定列的WRAP的设置.。
Oracle数据库语句大全
Oracle数据库语句大全一.入门部分1.创建表空间create tablespace schooltbs datafile ‘D:\oracle\datasource\schooltbs.dbf’ size 10M autoextend on;2.删除表空间drop tablespace schooltbs[including contents and datafiles];3.查询表空间基本信息select *||tablespace_name from DBA_TABLESPACES;4.创建用户create user lihuaidentified by lihuadefault tablespace schooltbstemporary tablespace temp;5.更改用户alter user lihuaidentified by 123default tablespace users;6.锁定用户alter user lihua account lock|unlock;7.删除用户drop user lihua cascade;--删除用户模式8.oracle数据库中的角色connect,dba,select_catalog_role,delete_catalog_role,execute_catalo g_role,exp_full_database,imp_full_database,resource9.授予连接服务器的角色grant connect to lihua;10.授予使用表空间的角色grant resource to lihua with grant option;--该用户也有授权的权限11.授予操作表的权限grant select,insert on user_tbl to scott;--当前用户grant delete,update on er_tbl to scott;--系统管理员二.SQL查询和SQL函数1.SQl支持的命令:数据定义语言(DDL):create,alter,drop数据操纵语言(DML):insert,delete,update,select数据控制语言(DCL):grant,revoke事务控制语言(TCL):commit,savepoint,rollback2.Oracle数据类型字符,数值,日期,RAW,LOB字符型char:1-2000字节的定长字符varchar2:1-4000字节的变长字符long:2GB的变长字符注意:一个表中最多可有一列为long型Long列不能定义唯一约束或主键约束long列上不能创建索引过程或存储过程不能接受long类型的参数。
oracle19c常用命令
oracle19c常用命令数据库启动、关闭和状态检查•启动数据库:SqlSQL> STARTUP; # 启动数据库,默认为读写模式SQL> STARTUP MOUNT; # 只装载数据库但不打开SQL> STARTUP OPEN READ ONLY; # 以只读模式打开数据库•关闭数据库:SqlSQL> SHUTDOWN; # 正常关闭数据库,等待所有会话结束SQL> SHUTDOWN IMMEDIATE; # 立即关闭数据库,断开所有会话SQL> SHUTDOWN TRANSACTIONAL; # 在事务结束后关闭数据库SQL> SHUTDOWN ABORT; # 强制立即关闭数据库,可能导致数据丢失•查看数据库状态:SqlSQL> SELECT DATABASE_STATUS FROM V$INSTANCE;SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;用户管理•创建用户并分配表空间:SqlCREATE USER username IDENTIFIED BY password DEFAULTTABLESPACE users QUOTA UNLIMITED ON users;•给用户授权:SqlGRANT connect, resource TO username;GRANTdba TO username; # 授予数据库管理员权限表空间操作•创建表空间:SqlCREATE TABLE SPACE new_tbs DATAFILE'/path/to/datafile.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;•删除表空间(需先离线):SqlALTER TABLE SPACE tbs_name OFFLINE;DROP TABLESPACE tbs_name INCLUDING CONTENTS ANDDATAFILES;PDB(可插拔数据库)管理•创建PDB:SqlCREATE PLUGGABLE DATABASE pdb_nameADMIN USER admin_user identified by passwordFILENAME '/path/to/pdb.xml';•开启/关闭PDB:SqlALTER PLUGGABLE DATABASE pdb_name OPEN;ALTER PLUGGABLE DATABASE pdb_name CLOSE;其他常用操作•查询当前登录用户:SqlSELECT USER FROM DUAL;•备份数据库:Bashrman target / # 进入RMAN恢复管理器BACKUP DATABASE; # 执行全库备份•查询数据库版本信息:SqlSELECT * FROM v$version;数据查询与操作•查询表数据:SqlSELECT * FROM your_table;-- 或者特定列SELECT column1, column2 FROM your_table;•插入数据:SqlINSERT INTO your_table (column1, column2) VALUES('value1', 'value2');•更新数据:SqlUPDATE your_table SET column1 = 'new_value'WHEREcondition;•删除数据:SqlDELETE FROM your_table WHERE condition;索引管理•创建索引:SqlCREATE INDEX idx_your_table_column1 ONyour_table(column1);•删除索引:SqlDROP INDEX idx_your_table_column1;触发器和序列•创建序列:SqlCREATE SEQUENCE seq_your_sequenceSTART WITH1INCREMENT BY1NOMAXVALUE;•使用序列:SqlINSERT INTO your_table (id, column1) VALUES(seq_your_sequence.NEXTVAL, 'value1');•创建触发器:SqlCREATE OR REPLACE TRIGGER trg_your_triggerBEFORE INSERT ON your_tableFOR EACH ROWBEGIN:NEW.column1 := seq_your_sequence.NEXTVAL;END;事务控制•开始事务:SqlSET TRANSACTION;•提交事务:SqlCOMMIT;•回滚事务:SqlROLLBACK;•保存点设置与恢复:SqlSAVEPOINT your_savepoint;ROLLBACK TO your_savepoint;SQL性能分析•查看执行计划:SqlEXPLAIN PLAN FOR SELECT * FROM your_table;SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 数据库审计•开启审计:SqlAUDIT ALL BY user_name BY ACCESS;•查看审计记录:SqlSELECT * FROM SYS.AUD$;。
ORACLECMD命令(最全的)
启动Orac le,在c md模式下依次启动:netstart orac leser vice服务名l snrct l sta rt 启动监听程序关闭服务为:ls nrctl stopnetstoporacl eserv iceDa ta1. Or acle安装完成后的初始口令?inte rnal/oracl esys/chan ge_on_inst alls ystem/mana gers cott/tigersysm an/oe m_tem p2. ORAC LE9IA S WEB CACH E的初始默认用户和密码?ad minis trato r/adm inist rator3.oracl e 8.0.5怎么创建数据库?用ora inst。
如果有mo tif界面,可以用o rains t /m4. o racle 8.1.7怎么创建数据库?dbass ist5. or acle9i 怎么创建数据库?dbc a6. orac le中的裸设备指的是什么?裸设备就是绕过文件系统直接访问的储存空间7. o racle如何区分64-bi t/32b it 版本$ sqlp lus '/ ASSYSDB A'S QL*Pl us: R eleas e 9.0.1.0.0 - P roduc tionon Mo n Jul 14 17:01:09 2003 (c) Co pyrig ht 2001 Or acleCorpo ratio n. Al l rig hts r eserv ed. Conne ctedto: Oracl e9i E nterp riseEditi on Re lease 9.0.1.0.0 - Pr oduct ion Withthe P artit ionin g opt ion JServ er Re lease 9.0.1.0.0 - Pr oduct ion SQL>selec t * f rom v$vers ion;BANN ER---------------------------------------------------------------- Oracl e9i E nterp riseEditi on Re lease 9.0.1.0.0 - Pr oduct ion PL/SQ L Rel ease9.0.1.0.0- Pro ducti onC ORE 9.0.1.0.0 P roduc tionTNSfor S olari s: Ve rsion 9.0.1.0.0 - Pr oduct ion NLSRT L Ver sion9.0.1.0.0- Pro ducti onS QL>8. SV RMGR什么意思?svrmg rl,Se rverManag er. 9i下没有,已经改为用SQLP LUS了sqlp lus /nolog变为归档日志型的9.请问如何分辨某个用户是从哪台机器登陆OR ACLE的?SEL ECT m achin e , t ermin al FR OM V$SESSI ON;10. 用什么语句查询字段呢?desc tabl e_nam e 可以查询表的结构sel ect f ield_name,... f rom ... 可以查询字段的值sel ect * from all_table s whe re ta ble_n ame l ike '%'s elect * fr om al l_tab_colu mns w heretable_name='??'11.怎样得到触发器、过程、函数的创建脚本?desc user_sour ceus er_tr igger s12. 怎样计算一个表占用的空间的大小?selec t own er,ta ble_n ame,NUM_ROWS,BLO CKS*A AA/1024/1024 "S ize M",E MPTY_BLOCK S,L AST_A NALYZ EDf rom d ba_ta bleswher e tab le_na me='X XX';Her e: AA A isthe v alueof db_bloc k_siz e ; XXX i s the tabl e nam e you want to c heck13.如何查看最大会话数?SELE CT *FROMV$PAR AMETE R WHE RE NA ME LI KE 'p roc%'; SQL>SQ L> sh ow pa ramet er pr ocess esNAMETYPEVALUE------------------------------------ ------- ------------------------------a q_tm_proce ssesinteg er 1db_w riter_proc esses inte ger 1job_queu e_pro cesse s int eger4lo g_arc hive_max_p roces ses i ntege r 1 proce ssesinteg er 200这里为200个用户。
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数据库,提高工作效率。
oracle数据库命令大全
更改用户密码
sql>alter user 管理员 identified by 密码;
创建表空间的数据文件
sql>create tablespace test datafile 'd:\oracle\binbo.dbf' size 10m;
创建用户
sql>create user 用户名 identified by 密码;
操作表结构数据库定义语言命令
(不记录在日志文件中)
create table建表
sql>create table test(name varchar2(20),age date,sex char(2));
sql>insert into test(name,age,sex) values('aa',sysdate,'男');
删除隐藏的列 SQL>alter table studen drop unused columns;
向表中加入约束 SQL>alter table studen add constraint pk primary key(stuno);
删除约束 SQL>alter table studen drop constraint pk;
打开监听器
lsnrctl start
关闭服务器
net stop OracleServiceORCL
关闭监听器 ຫໍສະໝຸດ lsnrctl stop 清屏
clear screen
数据字典 ===========desc user_views(关键词)
查看当前用户的角色
SQL>select * from user_role_privs;
oracle常用命令
--关闭数据库Oracle自动搜集功能alter system set "_optimizer_autostats_job"=false scope=spfile--修改表的默认表空间alter table 表名 move tablespace 表空间名;--修改索引表空间ALTER INDEX 索引名 REBUILD tablespace 表空间名;--修改LOB类型默认表空间ALTER TABLE SIGNATUREWORD MOVE LOB(IMAGE) STORE AS (TABLESPACE CZDJ);--创建数据表空间(表空间名称CZDJ,表空间文件大小1024M,数据文件满后自动扩展增量100MB,文件大小无限制)create tablespace CZDJ(表空间名)datafile 'd:\oracle\product\10.2.0\oradata\orcl\ CZDJ.dbf'(存放路径)size 1024m AUTOEXTEND ONNEXT 100m maxsize unlimited;--创建临时表空间create temporary tablespace dzdj31cz_temp (表空间名)tempfile 'd:\oracle\product\10.2.0\oradata\orcl\dzdj31cz_temp01.dbf'size 32Mautoextend onnext 32M maxsize 2048Mextent management local;本地管理表空间:extent management local字典管理表空间:extent management dictionary--修改表空间alter database datafile 'D:\oracle\product\10.2.0\oradata\orclzhaowei\test.dbf' resize 10m; alter database datafile 'D:\oracle\product\10.2.0\oradata\orclzhaowei\test.dbf' autoextend on next 50m maxsize unlimited;--创建用户并指定表空间create user 用户名 identified by 密码default tablespace 默认表空间temporary tablespace 临时表空间;--修改用户密码alter user 用户名 identified by 密码;--给表空间增加数据文件ALTER TABLESPACE sdeADD DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\sde01.dbf' size 20480M autoextend on next 50M maxsize unlimited;--给用户授予权限grant connect,dba,resource to 用户名--给用户解锁alter user username account unlock;--OraOLEDB.Oracle.1没有注册解决方法:regsvr32 D:\oracle\product\10.2.0\db_1\BIN\OraOLEDB10.dll--查询表空间状态select tablespace_name,status from dba_tablespaces;--表空间离线在线:离线的表空间无法访问,用于数据维护。
Linux_oracle命令大全
Linux_oracle命令大全一,启动1.#su - oracle 切换到oracle用户且切换到它的环境2.$lsnrctl status 查看监听及数据库状态3.$lsnrctl start 启动监听4.$sqlplus / as sysdba 以DBA身份进入sqlplus5.SQL>startup 启动db二,停止1.#su - oracle 切换到oracle用户且切换到它的环境2.$lsnrctl stop 停止监听3.$sqlplus / as sysdba 以DBA身份进入sqlplus4.SQL>SHUTDOWN IMMEDIATE 关闭db其中startup和shutdowm还有其他一些可选参数,有兴趣可以另行查阅三,查看初始化参数及修改1.#su - oracle 切换到oracle用户且切换到它的环境2.$sqlplus / as sysdba 以DBA身份进入sqlplus3.SQL>show parameter session; 查看所接受的session数量###################################################### Oracle process与session2008年12月29日星期一15:47Connected to Oracle Database 10g Release 10.1.0.5.0Connected as ifsappSQL> show parameter sessionNAME TYPE V ALUE------------------------------------ ----------- ------------------------------java_max_sessionspace_size integer 0java_soft_sessionspace_limit integer 0license_max_sessions integer 0license_sessions_warning integer 0logmnr_max_persistent_sessions integer 1session_cached_cursors integer 0session_max_open_files integer 10sessions integer 225shared_server_sessions integerSQL> show parameters processes;NAME TYPE V ALUE------------------------------------ ----------- ------------------------------aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 200SQL> alter system set processes=600 scope=both;SQL>SQL> alter system set processes=600 scope=both;alter system set processes=600 scope=bothORA-02095: specified initialization parameter cannot be modified SQL> alter system set sessions=600 scope=both;alter system set sessions=600 scope=bothORA-02095: specified initialization parameter cannot be modified SQL>SQL> alter system set processes=600 scope=spfile;System alteredSQL> show parameters processes;NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 200SQL> alter system set processes=600 scope=memory;alter system set processes=600 scope=memoryORA-02095: specified initialization parameter cannot be modified重启数据库之后生效:SQL> show parameters processes;NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 600SQL> show parameter sessionNAME TYPE V ALUE------------------------------------ ----------- ------------------------------java_max_sessionspace_size integer 0java_soft_sessionspace_limit integer 0license_max_sessions integer 0license_sessions_warning integer 0logmnr_max_persistent_sessions integer 1session_cached_cursors integer 0session_max_open_files integer 10sessions integer 665shared_server_sessions integer修改Oracle process 和session 的方法先备份spfile1.通过SQLPlus修改Oracle的sessions和processes的关系是sessions=1.1*processes + 5使用sys,以sysdba权限登录:SQL> show parameter processes;NAME TYPE V ALUE------------------------------------ ----------- --------------------------------------- aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 10log_archive_max_processes integer 1processes integer 150SQL> alter system set processes=400 scope = spfile;系统已更改。
ORACLECMD命令(最全的)
ORACLECMD命令(最全的)启动Oracle,在cmd模式下依次启动:net start oracleservice服务名lsnrctl start 启动监听程序关闭服务为:lsnrctl stopnet stop oracleserviceData1. Oracle安装完成后的初始口令?internal/oraclesys/change_on_installsystem/managerscott/tigersysman/oem_temp2. ORACLE9IAS WEB CACHE的初始默认用户和密码?administrator/administrator3. oracle 8.0.5怎么创建数据库?用orainst。
如果有motif界面,可以用orainst /m4. oracle 8.1.7怎么创建数据库?dbassist5. oracle 9i 怎么创建数据库?dbca6. oracle中的裸设备指的是什么?裸设备就是绕过文件系统直接访问的储存空间7. oracle如何区分 64-bit/32bit 版本$ sqlplus '/ AS SYSDBA'SQL*Plus: Release 9.0.1.0.0 - Production on Mon Jul 14 17:01:09 2003(c) Copyright 2001 Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.0.1.0.0 - ProductionWith the Partitioning optionJServer Release 9.0.1.0.0 - ProductionSQL> select * from v$version;BANNER---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.0.1.0.0 - ProductionPL/SQL Release 9.0.1.0.0 - ProductionCORE 9.0.1.0.0 ProductionTNS for Solaris: Version 9.0.1.0.0 - ProductionNLSRTL Version 9.0.1.0.0 - ProductionSQL>8. SVRMGR什么意思?svrmgrl,Server Manager.9i下没有,已经改为用SQLPLUS了sqlplus /nolog变为归档日志型的9. 请问如何分辨某个用户是从哪台机器登陆ORACLE的?SELECT machine , terminal FROM V$SESSION;10. 用什么语句查询字段呢?desc table_name 可以查询表的结构select field_name,... from ... 可以查询字段的值select * from all_tables where table_name like '%'select * from all_tab_columns where table_name='??'11. 怎样得到触发器、过程、函数的创建脚本?desc user_sourceuser_triggers12. 怎样计算一个表占用的空间的大小?select owner,table_name,NUM_ROWS,BLOCKS*AAA/1024/1024 "Size M",EMPTY_BLOCKS,LAST_ANALYZEDfrom dba_tableswhere table_name='XXX';Here: AAA is the value of db_block_size ;XXX is the table name you want to check13. 如何查看最大会话数?SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';SQL>SQL> show parameter processesNAME TYPE VALUE------------------------------------ ------- ------------------------------aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 4log_archive_max_processes integer 1processes integer 200这里为200个用户。
oracle导出命令大全
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面加上compress=y 来实现。
数据的导入:1 将D:\daochu.dmp 中的数据导入TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmpimp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入imp system/manager@TEST file=d:\daochu.dmp tables=(table1)基本上上面的导入导出够用了。
oracle语句大全及用法
oracle语句大全及用法Oracle语句是Oracle数据库中用于管理和操作数据的SQL语句。
以下是一些常用的Oracle语句及其用法:1. 数据定义语句(DDL)CREATE DATABASE:用于创建新的数据库。
CREATE TABLE:用于创建新的表。
语法如下:sql`CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...);`ALTER TABLE:用于修改现有的表结构,如添加、删除或修改列。
DROP TABLE:用于删除现有的表。
CREATE INDEX:用于在表上创建索引,以提高查询性能。
2. 数据操纵语句(DML)SELECT:用于从表中查询数据。
语法如下:sql`SELECT column1, column2, ... FROM table_name;`INSERT INTO:用于向表中插入新的数据行。
语法如下:sql`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);`UPDATE:用于修改表中的现有数据。
DELETE:用于从表中删除数据。
3. 数据控制语句(DCL)GRANT:用于授予用户或角色对数据库对象的访问权限。
REVOKE:用于撤销用户或角色对数据库对象的访问权限。
4. 事务控制语句(TCL)COMMIT:用于提交当前事务,使所做的更改永久生效。
ROLLBACK:用于撤销当前事务,恢复到事务开始前的状态。
SAVEPOINT:用于在事务中设置保存点,以便在之后的某个时刻可以回滚到该点。
5. 其他常用语句DECLARE:用于声明变量或常量,并为其分配数据类型和初始值。
BEGIN ... END:用于定义PL/SQL代码块的开始和结束。
IF ... THEN ... ELSE:用于条件判断,根据条件执行不同的操作。
(完整版)ORACLE命令大全
ORACLE命令大全1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。
该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] textOLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORK sql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNOENAME JOB ---------- ---------------------------------------- --------- 7369SMITH CLERK 7499ALLEN SALESMA 7521WARD SALESMAN4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME---------- ---------------------------------------- --------- 7369SMITH CLERK 7499ALLEN SALESMA 7521WARD SALESM 对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行BREAK ON break_column SKIP nSQL> BREAK ON DEPTNO SKIP 1SQL> /DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 110010. 显示对BREAK的设置SQL> BREAK11. 删除6、7的设置SQL> CLEAR BREAKS12. Set 命令:该命令包含许多子命令:SET system_variable valuesystem_variable value 可以是如下的子句之一:APPI[NFO]{ON|OFF|text}ARRAY[SIZE] {15|n}AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}AUTOP[RINT] {ON|OFF}AUTORECOVERY [ON|OFF]AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]] BLO[CKTERMINATOR] {.|c}CMDS[EP] {;|c|ON|OFF}COLSEP {_|text}COM[PATIBILITY]{V7|V8|NATIVE}CON[CAT] {.|c|ON|OFF}COPYC[OMMIT] {0|n}COPYTYPECHECK {ON|OFF}DEF[INE] {&|c|ON|OFF}DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}] ECHO {ON|OFF}EDITF[ILE] file_name[.ext]EMB[EDDED] {ON|OFF}ESC[APE] {\|c|ON|OFF}FEED[BACK] {6|n|ON|OFF}FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}FLU[SH] {ON|OFF}HEA[DING] {ON|OFF}HEADS[EP] {||c|ON|OFF}INSTANCE [instance_path|LOCAL]LIN[ESIZE] {80|n}LOBOF[FSET] {n|1}LOGSOURCE [pathname]LONG {80|n}LONGC[HUNKSIZE] {80|n}MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]NEWP[AGE] {1|n|NONE}NULL textNUMF[ORMAT] formatNUM[WIDTH] {10|n}PAGES[IZE] {24|n}PAU[SE] {ON|OFF|text}RECSEP {WR[APPED]|EA[CH]|OFF}RECSEPCHAR {_|c}SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_ WRAPPED]|TRU[NCATED]}]SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}SHOW[MODE] {ON|OFF}SQLBL[ANKLINES] {ON|OFF}SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}SQLCO[NTINUE] {> |text}SQLN[UMBER] {ON|OFF}SQLPRE[FIX] {#|c}SQLP[ROMPT] {SQL>|text}SQLT[ERMINATOR] {;|c|ON|OFF}SUF[FIX] {SQL|text}TAB {ON|OFF}TERM[OUT] {ON|OFF}TI[ME] {ON|OFF}TIMI[NG] {ON|OFF}TRIM[OUT] {ON|OFF}TRIMS[POOL] {ON|OFF}UND[ERLINE] {-|c|ON|OFF}VER[IFY] {ON|OFF}WRA[P] {ON|OFF}1). 设置当前session是否对修改的数据进行自动提交SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句SQL> SET ECHO {ON|OFF}3).是否显示当前sql语句查询或修改的行数SQL> SET FEED[BACK] {6|n|ON|OFF}默认只有结果大于6行时才显示结果的行数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL*PLUS命令的使用大全Oracle的sql*plus是与oracle进行交互的客户端工具。
在sql*plus中,可以运行sql*plus命令与sql*plus 语句。
我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。
除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。
它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。
下面就介绍一下一些常用的sql*plus命令:1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。
该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MA T] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] textOLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORKsql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MA T] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMA T $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMA T A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。
BREAK ON break_column SKIP nSQL> BREAK ON DEPTNO SKIP 1SQL> /DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 110010. 显示对BREAK的设置SQL> BREAK11. 删除6、7的设置SQL> CLEAR BREAKS12. Set 命令:该命令包含许多子命令:SET system_variable valuesystem_variable value 可以是如下的子句之一:APPI[NFO]{ON|OFF|text}ARRAY[SIZE] {15|n}AUTO[COMMIT]{ON|OFF|IMM[EDIA TE]|n}AUTOP[RINT] {ON|OFF}AUTORECOVERY [ON|OFF]AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STA T[ISTICS]] BLO[CKTERMINA TOR] {.|c}CMDS[EP] {;|c|ON|OFF}COLSEP {_|text}COM[PA TIBILITY]{V7|V8|NATIVE}CON[CA T] {.|c|ON|OFF}COPYC[OMMIT] {0|n}COPYTYPECHECK {ON|OFF}DEF[INE] {&|c|ON|OFF}DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}] ECHO {ON|OFF}EDITF[ILE] file_name[.ext]EMB[EDDED] {ON|OFF}ESC[APE] {\|c|ON|OFF}FEED[BACK] {6|n|ON|OFF}FLAGGER {OFF|ENTRY |INTERMED[IA TE]|FULL}FLU[SH] {ON|OFF}HEA[DING] {ON|OFF}HEADS[EP] {||c|ON|OFF}INSTANCE [instance_path|LOCAL]LIN[ESIZE] {80|n}LOBOF[FSET] {n|1}LOGSOURCE [pathname]LONG {80|n}LONGC[HUNKSIZE] {80|n}MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMA T] {ON|OFF}]NEWP[AGE] {1|n|NONE}NULL textNUMF[ORMA T] formatNUM[WIDTH] {10|n}PAGES[IZE] {24|n}PAU[SE] {ON|OFF|text}RECSEP {WR[APPED]|EA[CH]|OFF}RECSEPCHAR {_|c}SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MA T] {WRA[PPED]|WOR[D_ WRAPPED]|TRU[NCATED]}]SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}SHOW[MODE] {ON|OFF}SQLBL[ANKLINES] {ON|OFF}SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}SQLCO[NTINUE] {> |text}SQLN[UMBER] {ON|OFF}SQLPRE[FIX] {#|c}SQLP[ROMPT] {SQL>|text}SQLT[ERMINA TOR] {;|c|ON|OFF}SUF[FIX] {SQL|text}TAB {ON|OFF}TERM[OUT] {ON|OFF}TI[ME] {ON|OFF}TIMI[NG] {ON|OFF}TRIM[OUT] {ON|OFF}TRIMS[POOL] {ON|OFF}UND[ERLINE] {-|c|ON|OFF}VER[IFY] {ON|OFF}WRA[P] {ON|OFF}1). 设置当前session是否对修改的数据进行自动提交SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIA TE]| n}2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句SQL> SET ECHO {ON|OFF}3).是否显示当前sql语句查询或修改的行数SQL> SET FEED[BACK] {6|n|ON|OFF}默认只有结果大于6行时才显示结果的行数。