|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle。对于一些具有专门数据库管理员的比较大的环境来说,MySQL很难得到宠爱,这时候,关于MySQL是否真的具有良好的可扩展性的争论已经没有意义。熟习oracle的伴侣都晓得,SQLPLUS是一个主要的和ORACLE打交道的工具。SQLPLUS自己有良多命令,能够匡助我们做良多事变,包含发生一些规格化的报表、供应人机交互等等。上面,我就复杂地申明一下,供人人参考:
一匡助命令
HELP能够匡助我们,查找SQLPLUS每一个命令的用法
举例:
SQL>helpaccept
ACCEPT
------
Readsalineofinputandstoresitinagivenuservariable.
ACC[EPT]variable[NUM[BER]|CHAR|DATE][FOR[MAT]format]
[DEF[AULT]default][PROMPTtext|NOPR[OMPT]][HIDE]
二SQLPLUS的人机交互命令
在SQLPLUS里能够承受用户的输出,最经常使用的命令有:
(1)ACCEPT
承受整行的数据。
语法:ACC[EPT]variable[NUM[BER]|CHAR|DATE][FOR[MAT]format]
[DEF[AULT]default][PROMPTtext|NOPR[OMPT]][HIDE]
举例申明:
角本1.sql,查收工资年夜于输出金额的雇员。
SETFEEDBACKOFF
SETPAUSEOFF
ACCEPTsalNUMBERPROMPTPleaseinputsalary(weekly):
selectemployee_id,last_name,first_name,salaryfromemployee
wheresalary>[$sal]
在SQLPLUS中运转
SQL>@c:1.sql
Pleaseinputsalary(weekly):1000
old2:wheresalary>&sal
new2:wheresalary>1000
EMPLOYEE_IDLAST_NAMEFIRST_NAMESALARY
---------------------------------------------------------------------------
7499ALLENKEVIN1600
7505DOYLEJEAN2850
7506DENNISLYNN2750
7507BAKERLESLIE2200
7521WARDCYNTHIA1250
7555PETERSDANIEL1250
7557SHAWKAREN1250
7560DUNCANSARAH1250
7564LANGEGREGORY1250
7566JONESTERRY2975
7569ALBERTSCHRIS3000
注:
①ACCEPT承受一行的输出,而且把输出的数据依据指定依照指定的范例寄存到变量(如不存在,主动创立一个)中。
②FOMRAT用于制订输出的数据格局,如数字能够指定’999.99’,字符能够指定长度’A10’
③假如范例是CHAR,长度最年夜240。
(2)PROMPT
输入提醒信息。
语法:PRO[MPT][text]
举例:
SQL>PROMPTHello,world
Hello,world
(3)PAUSE
输入一行信息,并守候用户输出回车。
语法:PAU[SE][text]
举例:
SQL>PAUSEPleasepress[RETURN]
Pleasepress[RETURN]
SQL>
三编纂命令
经由过程SQLPLUS发送的最初一次SQL语句城市保留在SQLPLUS的一个数据缓冲区内,而SQLPLUS命令不包含在内能够经由过程编纂命令举行编纂。
(1)/
从头实行一下sql语句。
(2)APPEND
在命令缓冲区内,追加字符。
举例:
SQL>select*fromtab;
….
SQL>AWHEREtabtype=VIEW
1*select*fromtabwheretabtype=VIEW
SQL>/
TNAMETABTYPECLUSTERID
-----------------------------------------------
PLSQL_PROFILER_GRAND_TOTALVIEW
PLSQL_PROFILER_LINES_CROSS_RUNVIEW
PLSQL_PROFILER_NOTEXEC_LINESVIEW
PLSQL_PROFILER_UNITS_CROSS_RUNVIEW
SALESVIEW
(3)LIST或;
列出缓冲区内的内容,list能够列出某行的内容,而;则是一切的。
举例:
SQL>;
1select*fromtabWHEREtabtype=VIEW
2*ORDERBYtname
SQL>l2
2*ORDERBYtname
(4)INPUT
增添一行内容
举例:
SQL>iORDERBYtname
SQL>l
1select*fromtabWHEREtabtype=VIEW
2*ORDERBYtname
(5)CHANGE
把以后行的第一个艘索到的内容交换新的内容,
语法:C[HANGE]sepcharold[sepchar[new[sepchar]]]
举例:
SQL>l
1*select*fromemployeewheresalary>1000andsalary<2000
SQL>c/salary/sal
1*select*fromemployeewheresal>1000andsalary<2000
注重,当缓冲区有两行的时分,用C交换的是最初一行里的内容。
(6)Edit
在指定的文本编纂器里,编纂缓冲区的内容。Windows上,缺省是NOTEPAD。
(7)SPOOL
把输入了局,指定到一个文件中,有点像DOS命令下的>
SPO[OL][file_name[.ext]|OFF|OUT]
SQL>spoolc:1.txt
SQL>select*fromtab;
SQL>spooloff
四实行命令
(1)@
载进角本,运转。
举例:
SQL>@C:1.SQL
(2)EXECUTE
运转PL/SQL历程和程序包。
解决方案提供商应记住DBaaS通常仅仅是解决方案的一部分。客户之所以与他们的解决方案提供商协同工作,不仅是因为他们出售的产品,而且还因为他们所提供的服务。 |
|