OracleSQLPLUS常用命令Word文件下载.docx
《OracleSQLPLUS常用命令Word文件下载.docx》由会员分享,可在线阅读,更多相关《OracleSQLPLUS常用命令Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
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...>
=...。
!
=,<
>
,^=,这三个都标识不等于,&
lt;
=,>
=,=,这些运算符都可以使用。
...in(va1,val2,...)判断结果是否在这个枚举中存在
字符串通配查询,'
%'
表示多个字符,'
_'
,表示一个字符。
转义的用法:
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
25-MAY-95'
YEAR'
)01-JAN-95
TRUNC('
)01-MAY-95
练习:
返回下个月的第一天的日期
selectround(last_day(sysdate),'
selectadd_months(trunc(sysdate,'
),1);
4.不同数据类型间转换函数
将日期转成字符tochar(date,'
日期格式'
日期格式要用有效格式,格式大小写敏感'
'
year'
(全拼的年),'
mm'
(数字表示的月)'
(全拼的月),'
day'
(星期的全拼),'
ddspth'
(日期的全拼)'
yymmdd'
selectto_char(sysdate,'
)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
TheOracleTextaccount
OracleTextReference
DBSNMP
TheaccountusedbytheManagementAgentcomponentofOracleEnterpriseManagertomonitorandmanagethedatabase
OracleEnterpriseManagerGridControlInstallationandBasicConfiguration
LBACSYS
TheOracleLabelSecurityadministratoraccount
OracleLabelSecurityAdministrator'
sGuide
MDDATA
TheschemausedbyOracleSpatialforstoringGeocoderandrouterdata
OracleSpatialUser'
sGuideandReference
MDSYS
TheOracleSpatialandOracleinterMediaLocatoradministratoraccount
DMSYS
TheOracleDataMiningaccount.
OracleDataMiningAdministrator'
OracleDataMiningConcepts
OLAPSYS
MANAGER
TheaccountusedtocreateOLAPmetadatastructures.ItownstheOLAPCatalog(CWMLite).
OracleOLAPApplicationDeveloper'
ORDPLUGINS
TheOracleinterMediauser.Plug-inssuppliedbyOracleandthirdpartyformatplug-insareinstalledinthisschema.
OracleinterMediaUser'
ORDSYS
TheOracleinterMediaadministratoraccount
OUTLN
Theaccountthatsupportsplanstability.PlanstabilityenablesyoutomaintainthesameexecutionplansforthesameSQLstatements.OUTLNactsasaroletocentrallymanagemetadataassociatedwithstoredoutlines.
OracleDatabasePerformanceTuningGuide
SI_INFORMTN_SCHEMA
TheaccountthatstorestheinformationviewsfortheSQL/MMStillImageStandard
SYS
CHANGE_ON_INSTALL
Theaccountusedtoperformdatabaseadministrationtasks
OracleDatabaseAdministrator'
SYSMAN
TheaccountusedtoperformOracleEnterpriseManagerdatabaseadministrationtasks.NotethatSYSandSYSTEMcanalsoperformthesetasks.
SYSTEM
Anotheraccountusedtoperformdatabaseadministrationtasks.