仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 555|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页编程之SQLPlus命令利用指南(一)

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:43:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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通常仅仅是解决方案的一部分。客户之所以与他们的解决方案提供商协同工作,不仅是因为他们出售的产品,而且还因为他们所提供的服务。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-19 21:47:08 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
不帅 该用户已被删除
板凳
发表于 2015-1-26 08:38:33 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
金色的骷髅 该用户已被删除
地板
发表于 2015-2-4 13:39:24 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
柔情似水 该用户已被删除
5#
发表于 2015-2-10 00:22:11 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
兰色精灵 该用户已被删除
6#
发表于 2015-2-28 10:37:46 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
飘灵儿 该用户已被删除
7#
发表于 2015-3-9 22:25:48 | 只看该作者
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
小妖女 该用户已被删除
8#
发表于 2015-3-17 02:11:37 | 只看该作者
光写几个SQL实在叫无知。
简单生活 该用户已被删除
9#
发表于 2015-3-23 17:10:22 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 01:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表