OracleSQLPLUS常用命令.docx

上传人:b****5 文档编号:8292373 上传时间:2023-01-30 格式:DOCX 页数:11 大小:21.36KB
下载 相关 举报
OracleSQLPLUS常用命令.docx_第1页
第1页 / 共11页
OracleSQLPLUS常用命令.docx_第2页
第2页 / 共11页
OracleSQLPLUS常用命令.docx_第3页
第3页 / 共11页
OracleSQLPLUS常用命令.docx_第4页
第4页 / 共11页
OracleSQLPLUS常用命令.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

OracleSQLPLUS常用命令.docx

《OracleSQLPLUS常用命令.docx》由会员分享,可在线阅读,更多相关《OracleSQLPLUS常用命令.docx(11页珍藏版)》请在冰豆网上搜索。

OracleSQLPLUS常用命令.docx

OracleSQLPLUS常用命令

OracleSQL*PLUS常用命令

一、DataBase

保存数据,以表的形式表现数据

二、SQL

Structurquerylanguage

结构化查询语言,是操作关系型数据库中的对象。

DDL(Datadefinitionlanguage数据定义语言),用于建表或删表操作,以及对表约束进行修改

createtable,altertable,droptable对表结构的增删操作。

DML(Datamanipulationlanguage数据操作语言),向表中插入纪录,修改纪录

insert,update,delete,merge

transaction,事务控制语言,由DML语句组成的,commit;,rollback;

select查询语句

dcl授权语句grant

三、Oracle

DBMS数据库管理系统

有Oracle提供,还提供AS,应用服务器

DBA数据库管理员

四、相关操作

1、sqlplus访问数据库命令(本地访问/远程访问),和数据库建立连接的命令,是数据库操作的环境

sqlplus用户名/密码

2、showuser显示当前用户的用户名

改变身份可以直接connect用户名/密码---这个是sqlplus命令

在sqlplus中可以使用!

可以在shell和sqlplus间切换,!

shell命令可以在sqlplus中使用shell命令。

实际上是sqlplus开了子进程来执行shell命令。

3、Oracle数据库中的表分两类:

用户表(用户使用操作的表),系统表(数据库系统维护的表,也叫数据字典)

对用户表的DDL操作出发了对系统表的DML操作!

五、基本语法

1、select查询语句

selecttable_namefromuser_tables;(查询系统表)

以上的查询语句就是查询本用户下所拥有的所有表的表名。

投影操作,只查看选择的字段的信息。

选择操作,查看字段中的特定某些信息。

联接操作,多表查询,通过表间连接,查寻出多表中的信息

(1)selecttable_namefromuser_tables;(查询系统表)

以上的查询语句就是查询本用户下所拥有的所有表的表名。

(2)sqlplus的buffer中会缓存最后一条sql语句,可以使用"/"来执行这最后一条sql语句,也可以使用

edit命令来编辑最后一条sql语句。

l命令(list)(sqlplus命令)可以显示buffer中最后一条命令。

sqlplus命令可以缩写

(3)desc[表名]

这是一条sqlplus命令,注意他不是sql语句,这条命令用于查看表的结构。

descript的缩写

[字段名][字段的类型],这是使用完desc命令后显示的表结构。

(4)select[表的字段名1],[表的字段名2],...from表名;

select*from表名;查寻表中所有字段的信息

(5)关键字不等拆分,sql语句,以及表名,字段名是大小写不敏感的。

sql语句要以";"结尾,来表示sql语句结束,如果不加";"系统不会执行此条sql语句,并提示。

在Oracle中字符显示是左对齐,数值右对齐。

(6)在select语句中可以使用数学表达式。

select[表达式(必须包含本表字段名)],[...],....from表名;

运算的优先级的先乘除后加减,同级自左向右运算,括号改变优先级。

(7)别名

select[字段名或表达式]["别名"],[...]["..."],....from表名;

可以通过在字段名或表达式后加空格"别名",可以给列,或者表达式结果其别名。

表达别名必须加双引号。

(8)字符串拼接使用||符号

select目标字段名||""||目标字段名from表名;

注意:

在Oracle中的字符串要用'..'包含

别名中需要使用空格,或是大小写敏感时需要用".."包含。

练习:

自己写一条SQL语句,执行的结果是select*from...;

其中...是每张系统表的表名

即在每张系统表的表名前加“select*from”,后加“;”

select'select*from'||table_name||';'fromuser_tables;

2、处理错误

(1)!

oerrora[错误号],系统可以显示错误的原因和如何修改。

如果命令错误输入可以使用edit或ed来修改输入错误。

实际上是在编辑缓存文件中的最后一条sql语句。

也可以使用(change)c/错误字段/正确字段,来进行替换操作进行修改。

只有在Linux平台使用

!

相当于host,没有断连接,只是切换了一下,执行shell命令

(2)edit命令来编辑最后一条sql语句。

3、sqlplus设置

setpauseon回车响应,分屏显示,只在本会话中有效

setpauseoff关闭分屏显示。

setpause"..."设置分屏显示的提示信息。

setpauseon先输出提示信息,回车响应,分屏显示

setheadoff提头输出关闭

setfeedoff结尾输出关闭

setechooff回写关闭

spool文件名.sql写入指定文件

spooloff关闭写入。

4、sql脚本

也就是在文件中写有sql语句的文件,可以在sqlplus中运行。

引入sql脚本

sqlplus用户名/密码@sql脚本(注意:

在用户名密码输入结束后一定要加空格然后再写@sql脚本)

在脚本中最后一行写上“exit”,则运行完脚本以后,回到shell上

5、

Oracle中的空值空值会当无穷大处理,其实空值根本就不会存储,只是看作是无穷大。

Oracle中控制处理函数NVL(字段名,值),这个字段中的空值替换为指定值,如果不为空,则会返回其原值。

例:

select(salary*12)*(NVL(commission_pct,0)/100+1)salary,first_namefroms_emp;

distinct关键字,去掉重复行(这个关键字会触发排序操作)

例:

selectdistinctdept_id,titlefroms_emp;

dept_id与title的联合不唯一

注意:

distinct,关键字之后会对from之前的字段进行排重操作。

6、column命令---sqlplus命令

column命令列格式的定义

column目标列名查看这个类是否定义了格式

column目标列名formata..设置列宽。

columnlast_nameheading'Employee|Name'formATA15

设置题头

这其中的'|'是换行符

columnsalaryjustifyleftformat$99,990.00

定义数字显示格式

注意:

如果不满足显示的格式,就会把数据显示为"#"

columnsalaryjustifyleftformat$00,000.00

会出现$00,928.00,用0补齐

column列名clear(清除列格式定义)

注意:

只有sqlplus命令才有简写,并且在使用sqlplus命令时结尾也不能加分号。

六、选择操作

1、orderby

排序子句ASC(默认,升序)DESC(降序)

orderby目标列名(别名)排序顺序(不写排序顺序,会默认为升序排序)

例:

selectfirst_namefroms_emporderbyfirst_name;

selectfirst_namefroms_emporderbyfirst_namedesc;

注意:

升序空值在结果的末尾,降序空值在结果的最前面。

2、where子句

where子句使用在select...from...后面,用来选择所需(符合条件的)的记录

where后面跟的是表达式也就是XXX=XXX,XXXbetweenXandX,XXXin(X,X,X)

like'...'通配查询

between...and...,表示结果在这之间,betweenand是一个闭区间,

也就相当于...<=...and...>=...。

!

=,<>,^=,这三个都标识不等于,<=,>=,=,这些运算符都可以使用。

...in(va1,val2,...)判断结果是否在这个枚举中存在

like'...'字符串通配查询,'%'表示多个字符,'_',表示一个字符。

注意:

转义的用法:

like‘S\_%’escape‘\’

...and...表示只有两个条件同时满足

...or...表示条件只要满足其中只一就可以

all...是要求都满足条件。

not.....,则是可以与以上的条件产生反效果。

空值会对notin造成影响,也就是不等于任何值,但是空值例外。

...isnull使用来判断值是否为空。

注意:

Oracle中的字符串是严格区分大小写的。

(1)注意数据类型,数字类型直接写,字符用'......',缺省格式的Date可以用'......',只有别名

才用""包含。

(2)选择合适的运算符

七、单行函数

1.字符函数

字符是大小写敏感的

转小写lower(字段名)---其中的参数可以是一个字符串常量或是一个字段名

转大写upper(字段名)

首字母大写initcap(字段名)

字符串拼接concat(字段1,字段2)

截取子串substr(字段名,起始位置,取字符个数)

dual表,是专门用于函数测试和运算的,他只有一条记录

字符串拼接concat(...,....)

求指定子串substr(...,起始位置,取字符个数)

可以使用"-"表示从右向左取,取的时候可以从左往友取。

例:

selectsubstr(first_name,-2,2)subfroms_emp;(取后两个)

selectsubstr(first_name,2,2)subfroms_emp;(取前两个)

2.数值函数

四舍五入round(数据,保留小数点后几位)

可以用负数表示小数点前,0,表示小数点后第一位,也就是保留个位,-1表示个位(保留到十位)。

例:

selectround(15.36,1)fromdual;

截取数字函数trunc(数据,保留的位数(小数点后位数))截取个位之后补0

例:

selecttrunc(123.456,1)fromdual;

3.日期函数

日期格式,

全日期格式世纪信息,年月日,时分秒。

缺省日期格式,日-月-年dd-mon-rr

修改当前会话的日期格式,会按照指定的格式输出日期

altersessionsetnls_date_format='yyyymmddhh24:

mi:

ss';

返回当前日期sysdate

例:

selectsysdatefromdual;

selectsysdate+1fromdual;获得明天的日期,加1,单位是天

日期是格式敏感的

求两个日期间相隔了多少个月months_between(date1,date2)

加减指定数量的月份add_months(date,月数),月数可以为负,负值就是减去相应的月数。

从date日期开始的第一个星期五next_day(date,FriDay)

返回月末的日期last_day(date)

截取日期trunc(date,'年或月或日或时分秒')

例:

selectnext_day(sysdate,2)fromdual;

例:

selecttrunc(add_months(sysdate,1),'month')fromdual;

ROUND('25-MAY-95','MONTH')01-JUN-95

ROUND('25-MAY-95','YEAR')01-JAN-95

TRUNC('25-MAY-95','MONTH')01-MAY-95

TRUNC('25-MAY-95','YEAR')01-JAN-95

练习:

返回下个月的第一天的日期

selectround(last_day(sysdate),'MONTH')fromdual;

selectadd_months(trunc(sysdate,'MONTH'),1);

4.不同数据类型间转换函数

将日期转成字符tochar(date,'日期格式')

日期格式要用有效格式,格式大小写敏感'yyyymmddhh24:

mi:

ss',

'year'(全拼的年),'mm'(数字表示的月)'month'(全拼的月),'day'(星期的全拼),'ddspth'(日期的全拼)'yymmdd'

例:

selectto_char(sysdate,'yyyymmddhh24:

mi:

ss')fromdual;

将字符转换成数字to_number('...')

将数字转字符to_char(number,'fmt')fmt是数字格式

将字符串转成日期to_date('...','日期格式')

例:

selectto_char(to_date('20061103','yyyymmdd'),'dd-month-yy')fromdual;

Oracle10g默认安装带来的用户名/密码

Username

Password

Description

SeeAlso

CTXSYS

CTXSYS

TheOracleTextaccount

OracleTextReference

DBSNMP

DBSNMP

TheaccountusedbytheManagementAgentcomponentofOracleEnterpriseManagertomonitorandmanagethedatabase

OracleEnterpriseManagerGridControlInstallationandBasicConfiguration

LBACSYS

LBACSYS

TheOracleLabelSecurityadministratoraccount

OracleLabelSecurityAdministrator'sGuide

MDDATA

MDDATA

TheschemausedbyOracleSpatialforstoringGeocoderandrouterdata

OracleSpatialUser'sGuideandReference

MDSYS

MDSYS

TheOracleSpatialandOracleinterMediaLocatoradministratoraccount

OracleSpatialUser'sGuideandReference

DMSYS

DMSYS

TheOracleDataMiningaccount.

OracleDataMiningAdministrator'sGuide

OracleDataMiningConcepts

OLAPSYS

MANAGER

TheaccountusedtocreateOLAPmetadatastructures.ItownstheOLAPCatalog(CWMLite).

OracleOLAPApplicationDeveloper'sGuide

ORDPLUGINS

ORDPLUGINS

TheOracleinterMediauser.Plug-inssuppliedbyOracleandthirdpartyformatplug-insareinstalledinthisschema.

OracleinterMediaUser'sGuide

ORDSYS

ORDSYS

TheOracleinterMediaadministratoraccount

OracleinterMediaUser'sGuide

OUTLN

OUTLN

Theaccountthatsupportsplanstability.PlanstabilityenablesyoutomaintainthesameexecutionplansforthesameSQLstatements.OUTLNactsasaroletocentrallymanagemetadataassociatedwithstoredoutlines.

OracleDatabasePerformanceTuningGuide

SI_INFORMTN_SCHEMA

SI_INFORMTN_SCHEMA

TheaccountthatstorestheinformationviewsfortheSQL/MMStillImageStandard

OracleinterMediaUser'sGuide

SYS

CHANGE_ON_INSTALL

Theaccountusedtoperformdatabaseadministrationtasks

OracleDatabaseAdministrator'sGuide

SYSMAN

CHANGE_ON_INSTALL

TheaccountusedtoperformOracleEnterpriseManagerdatabaseadministrationtasks.NotethatSYSandSYSTEMcanalsoperformthesetasks.

OracleEnterpriseManagerGridControlInstallationandBasicConfiguration

SYSTEM

MANAGER

Anotheraccountusedtoperformdatabaseadministrationtasks.

OracleDatabaseAdministrator'sGuide

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1