仓酷云

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

[学习教程] MSSQL编程:sql 别的命令

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:18:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继4.7.1BACKUP
BACKUP命令用于将数据库内容或其事件处置日记备份到存储介质上(软盘、硬盘、磁带)。等SQLServer7.0之前的版本用的是DUMP命令来实行此功效,从SQLServer2000起,不再利用DUMP命令。关于BACKUP命令的概况请拜见“数据备份与恢复”章节。
4.7.2CHECKPOINT
语法以下:
CHECKPOINT
CHECKPOINT命令用于将以后事情的数据库中被变动过的数据页datapage或日记页(logpage)从数据缓冲器(databuffercache)中强迫写进硬盘。
4.7.3DBCC
DBCCDatabaseBaseConsistencyChecker,数据库分歧性反省程序)命令用于考证数据库完全性、查找毛病、剖析体系利用情形等。
DBCC命令后必需加上子命令,体系才晓得要做甚么。如DBCCCHECKALLOC命令反省今朝数据库内一切数据页的分派和利用情形。
关于DBCC命令的概况,请拜见附录。4.7.4DECLARE
语法以下:
DECLARE{{@local_variabledata_type}
|{@cursor_variable_nameCURSOR}
|{table_type_definition}
}[,...n]]
DECLARE命令用于声明一个或多个部分变量、游标变量或表变量。在用DECLARE命令声明以后,一切的变量都被付与初值NULL。必要用SELECT或SET命令来给变量赋值。变量范例可为体系界说的或用户界说的范例,但不克不及为TEXT、NTEXT、IMAGE范例。CURSOR指名变量是部分的游标变量。
例4-16
declare@xfloat@ydatetime
select@x=pi@y=getdate
print@x
print@y
运转了局以下:
3.14159
Jun1720004:32PM
注重:假如变量为字符型,那末在data_type表达中应指明
其最年夜长度,不然体系以为其长度为1。
例4-17
declare@xchar@ychar10
select@x=123@y=data_type
print@x
print@y
运转了局以下
1
data_type

4.7.5EXECUTE
EXECUTE命令用来实行存储历程,其详细用法请拜见“存储历程”章节。
4.7.6KILL
KILL命令用于停止某一历程的实行,其详细用法请拜见“存储历程”章节。
4.7.7PRINT
语法以下:
PRINTanyASCIItext|@local_variable|@@FUNCTION|string_expression
PRINT命令向客户端前往一个用户自界说的信息,即显现一个字符串(最长为255个字符)、部分变量或全局变量。假如变量值不是字符串的话,必需先用数据范例转换函数CONVERT(),将其转换为字符串。个中,string_expression是可前往一个字符串的表达式。表达式的长度能够凌驾8000个字符,但凌驾8000的字符将不会显现。
例4-18:
declare@xchar10@ychar10
select@x=SQL@y=Server
print科技
print@x+@y
运转了局以下:
科技
SQLServer

4.7.8RAISERROR
RAISERROR命令用于在SQLServer体系前往毛病信息时,同时前往用户指定的信息。其详细用法请拜见“存储历程”章节。
4.7.9READTEXT
READTEXT命令语法以下
READTEXT{table.columntext_pointeroffsetsize}[HOLDLOCK]
READTEXT命令用于从数据范例为TEXT、NTEXT或IMAGE的列中读取数据。命令从偏移地位offset+1个字符起读取size个字符,假如size为0,则会读取4KB的数据。个中text_pointer是指向存储文本的第一个数据库页的指针,它能够用TEXTPTR()函数来猎取。关于TEXTPTR()函数的利用请拜见“4.8.7TEXT和IMAGE函数”。HOLDLOCK选项用于锁定所读取的数据直到传输停止,这段工夫内,别的用户只能读取数据,不克不及变动数据。
例4-19:
usepangu
declare@t_pointervarbinary(16)
select@t_pointer=textptr(d_intro)
fromdepartment
whered_name=手艺部
readtextdepartment.d_intro@t_pointer042
运转了局以下:
d_intro
--------------------------------------------------------------------
举行手艺研讨与开辟,供应最新的手艺静态信息
(1row(s)affected)

注重:假如数据列为汉字,则offset值应取o或别的偶数,假如用奇数,则会呈现乱码

4.7.10RESTORE
RESTORE命令用来将数据库或其事件处置日记备份文件由存储介质回存到SQLServer体系中。SQLServer7.0之前的版本用的是LOAD命令来实行此功效,从SQLServer2000起,不再利用LOAD命令。关于RESTORE命令的概况,请拜见“数据备份与恢复”章节
4.7.11SELECT
SELECT命令可用于给变量赋值其语法以下:
SELECT{@local_variable=expression}[...n]
SELECT命令能够一次给多个变量赋值。当表达式expression为列名时,SELECT命令可使用其查询功效一次前往多个值,变量中保留的是其前往的最初一个值。假如SELECT命令没有前往值,则变量值仍为其本来的值。当表达式expression是一个子查询时,假如子查询没有前往值则变量被设为NULL。
例4-20:
usepangu
declare@xchar(30)
select@x=CPU
select@x=d_name
fromdepartment
wheredept_id=9999
select@x
运转了局以下:
-----------------------
CPU
例4-21:
usepangu
declare@xchar30
select@x=MainBoard
select@x=(selectd_name
fromdepartment
wheredept_id=9999)
select@x
运转了局以下
-----------------------
NULL
4.7.12SET
SET命令有两种用法:
1用于给部分变量赋值
其语法以下:
SET{{@local_variable=expression}|{@cursor_variable=
{@cursor_variablecursor_name
|{CURSOR
[FORWARD_ONLY|SCROLL]
[STATIC|KEYSET|DYNAMIC|FAST_FORWARD]
[READ_ONLY|SCROLL_LOCKS|OPTIMISTIC]
[TYPE_WARNING]
FORselect_statement
[FOR{READONLY
|UPDATE[OFcolumn_name[...n]]}]}}}}
个中的CURSOR等参数将在“游标”一章中报告。
在用DECLARE命令声明以后,一切的变量都被付与初值NULL。必要用SET命令来给变量赋值。但与SELECT命令分歧的是,SET命令一次只能给一个变量赋值。不外因为SET命令功效更强,且更周密,因而,SQLServer保举利用SET命令来给变量赋值。
例4-22
declare@xchar(30)
set@x=ThisisaSETcommand.
select@x
运转了局以下
------------------------------
ThisisaSETcommand.
例4-23
usepangu
declare@department_numint@xchar(10)
set@department_num=selectcount(*)
fromdepartment)
set@x=部门数量
print@x
select@department_num
运转了局以下
部门数量
-----------
7
2用于设定用户实行SQL命令,时SQLServer的处置选项设定
有以下几种设定体例:

  • SET选项ON
  • SET选项OFF
  • SET选项值
关于此类SET命令的概况,请拜见附录。
语法以下
SHUTDOWN[WITHNOWAIT]
SHUTDOWN命令用于中断SQLServer的实行,当利用NOWAIT参数时,SHUTDOWN命令当即中断SQLServer,在停止一切的用户历程并对每现行的事件产生一个回滚后,加入SQLServer。当没有效NOWAIT参数时,SHUTDOWN命令将按以下步骤实行:
(1)停止任何用户登录SQLServer。
(2)守候还没有完成的Transact-SQL命令或存储历程实行终了。
(3)在每一个数据库中实行CHECKPOINT命令
(4)中断SQLServer的实行
例4-24
shutdownwithnowait
运转了局以下:
------------------------------
Changedlanguagesettingtous_english.
Servershutdownbyrequest.
SQLServeristerminatingthisprocess.
中断SQLServer的实行的办法另有好几种,我们将在“企业办理器EnterpriseManager”章节中先容。
4.7.14WRITETEXT
语法以下:
WRITETEXT{table.columntext_pointer}[WITHLOG]{data}
WRITETEXT命令用于向数据范例为TEXT、NTEXT或IMAGE的列中读取数据。个中text_pointer是指向存储文本的第一个数据库页的指针,它能够用TEXTPTR()来猎取。关于TEXTPTR函数的利用请拜见“4.8.7TEXT和IMAGE函数”。WOTHLOG选项用于纪录所写进的数据。data可为笔墨或变量,其最年夜长度为120KB。注重:WRITETEXT命令不克不及感化于视图。
保举利用UPDATETEXT命令来修正TEXT、NTEXT和IMAGE范例的数据。由于WRITETEXT命令将数据列的数据完整交换,而UPDATETEXT命令能够只变动数据列的一部分。关于UPDATETEXT命令的利用将在“数据库更新”章节中报告。
例4-25
declare@t_pointerbinary(16)
usepangu
select@t_pointer=textptrd_intro
fromdepartment
whered_name=手艺部
writetextdepartment.d_intro@t_pointer举行手艺研讨与开辟供应最新的手艺静态信息

4.7.15USE
语法以下
USE{databasename}
USE命令用于改动以后利用的数据库为指定的数据库。用户必需是方针数据库的用户成员或方针数据库建有GUEST用户账号时,利用USE命令才干乐成切换到方针数据库。

在Windows中MySQL以服务形式存在,在使用前应确保此服务已经启动,未启动可用netstartmysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqldstart"命令,注意启动者应具有管理员权限。
小女巫 该用户已被删除
沙发
发表于 2015-1-19 07:35:41 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
老尸 该用户已被删除
板凳
发表于 2015-1-24 15:46:22 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
简单生活 该用户已被删除
地板
发表于 2015-2-2 05:55:10 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
谁可相欹 该用户已被删除
5#
发表于 2015-2-7 17:00:28 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
只想知道 该用户已被删除
6#
发表于 2015-2-22 18:05:36 | 只看该作者
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-7 01:45:57 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
小妖女 该用户已被删除
8#
发表于 2015-3-14 06:39:10 | 只看该作者
比如日志传送、比如集群。。。
若相依 该用户已被删除
9#
发表于 2015-3-21 01:21:51 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 23:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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