MYSQL网页编程之SQLPlus命令利用指南(一)
据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle。对于一些具有专门数据库管理员的比较大的环境来说,MySQL很难得到宠爱,这时候,关于MySQL是否真的具有良好的可扩展性的争论已经没有意义。熟习oracle的伴侣都晓得,SQLPLUS是一个主要的和ORACLE打交道的工具。SQLPLUS自己有良多命令,能够匡助我们做良多事变,包含发生一些规格化的报表、供应人机交互等等。上面,我就复杂地申明一下,供人人参考:一匡助命令
HELP能够匡助我们,查找SQLPLUS每一个命令的用法
举例:
SQL>helpaccept
ACCEPT
------
Readsalineofinputandstoresitinagivenuservariable.
ACCvariable|CHAR|DATE]format]
default]]
二SQLPLUS的人机交互命令
在SQLPLUS里能够承受用户的输出,最经常使用的命令有:
(1)ACCEPT
承受整行的数据。
语法:ACCvariable|CHAR|DATE]format]
default]]
举例申明:
角本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
举例:
SQL>PROMPTHello,world
Hello,world
(3)PAUSE
输入一行信息,并守候用户输出回车。
语法:PAU
举例:
SQL>PAUSEPleasepress
Pleasepress
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
把以后行的第一个艘索到的内容交换新的内容,
语法:Csepcharold]]
举例:
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|OFF|OUT]
SQL>spoolc:1.txt
SQL>select*fromtab;
SQL>spooloff
四实行命令
(1)@
载进角本,运转。
举例:
SQL>@C:1.SQL
(2)EXECUTE
运转PL/SQL历程和程序包。
解决方案提供商应记住DBaaS通常仅仅是解决方案的一部分。客户之所以与他们的解决方案提供商协同工作,不仅是因为他们出售的产品,而且还因为他们所提供的服务。 having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。 两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书 这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。 一个是把SQL语句写到客户端,可以使用DataSet进行加工; 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。 你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。 光写几个SQL实在叫无知。 这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
页:
[1]