[转载]数据库开发——精典
<DIV class=postTitle><a href="http://blog.csdn.net/softj/archive/2005/09/29/492104.aspx" target="_blank" ><FONT color=#000080>数据库开发——精典</FONT></A>
[code]<SCRIPT language=javascript type=text/javascript><br>
document.title="数据库开发——精典 - "+document.title
<br></script>[/code]
</DIV>
<DIV class=postText>
<P><FONT color=#000000><STRONG><STRONG>1.按姓氏笔画排序:<BR></STRONG></STRONG></FONT><FONT color=#0000ff>Select</FONT> * <FONT color=#0000ff>From</FONT> TableName <FONT color=#0000ff>Order By</FONT> CustomerName <FONT color=#ff0000>Collate</FONT> <FONT color=#008080>Chinese_PRC_Stroke_ci_as</FONT> </P>
<P><FONT color=#000000><STRONG>2.数据库加密:</STRONG></FONT><STRONG><BR></STRONG><FONT color=#000000><FONT color=#3366ff><FONT color=#0000ff><FONT color=#ff0000>select encrypt('原始密码')<BR><FONT color=#0000ff>select</FONT> pwdencrypt('原始密码')<BR><FONT color=#0000ff>select</FONT> pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同</FONT></FONT> </FONT>encrypt('原始密码')<BR><FONT color=#0000ff>select</FONT> pwdencrypt('原始密码')<BR><FONT color=#0000ff>select</FONT> pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同</FONT></P>
<P><FONT color=#000000><STRONG>3.取回表中字段:<BR></STRONG></FONT><FONT color=#0000ff>declare</FONT> @list varchar(1000),@sql nvarchar(1000) <BR><FONT color=#0000ff>select</FONT> @list=@list+','+b.name <FONT color=#0000ff>from</FONT> <FONT color=#008080>sysobjects</FONT> a,<FONT color=#008080>syscolumns</FONT> b where a.id=b.id and a.name='表A'<BR><FONT color=#0000ff>set</FONT> @sql='select '+right(@list,len(@list)-1)+' from 表A' <BR><FONT color=#0000ff>exec</FONT> (@sql)</P>
<P><FONT color=#000000><STRONG>4.查看硬盘分区:<BR></STRONG></FONT><FONT color=#0000ff>EXEC</FONT> <FONT color=#008080>master</FONT>..<FONT color=#008080>xp_fixeddrives</FONT></P>
<P><FONT color=#000000><STRONG>5.比较A,B表是否相等:<BR></STRONG></FONT><FONT color=#0000ff>if </FONT>(<FONT color=#0000ff>select</FONT> checksum_agg(binary_checksum(*)) <FONT color=#0000ff>from</FONT> A)<BR> =<BR> (<FONT color=#0000ff>select</FONT> checksum_agg(binary_checksum(*)) <FONT color=#0000ff>from</FONT> B)<BR><FONT color=#0000ff>print</FONT> '相等'<BR><FONT color=#0000ff>else</FONT><BR><FONT color=#0000ff>print</FONT> '不相等'</P>
<P><FONT color=#000000><STRONG>6.杀掉所有的事件探察器进程:<BR></STRONG></FONT><FONT color=#0000ff>DECLARE</FONT> hcforeach <FONT color=#0000ff>CURSOR</FONT> <FONT color=#0000ff>GLOBAL</FONT><FONT color=#0000ff> FOR SELECT</FONT> 'kill '+RTRIM(spid) FROM <FONT color=#008080>master</FONT>.dbo.<FONT color=#008080>sysprocesses</FONT><BR><FONT color=#0000ff>WHERE</FONT> program_name IN('SQL profiler',N'SQL 事件探查器')<BR><FONT color=#0000ff>EXEC</FONT> sp_msforeach_worker '?'</P>
<P><FONT color=#000000><STRONG>7.记录搜索:<BR></STRONG>开头到N条记录</FONT><BR><FONT color=#0000ff>Select</FONT> Top N * <FONT color=#0000ff>From</FONT> 表<BR>-------------------------------<BR>N到M条记录(要有主索引ID)<BR><FONT color=#0000ff>Select</FONT> Top M-N * <FONT color=#0000ff>From</FONT> 表 <FONT color=#0000ff>Where</FONT> ID in (<FONT color=#0000ff>Select</FONT> Top M ID <FONT color=#0000ff>From</FONT> 表) <FONT color=#0000ff>Order</FONT> <FONT color=#0000ff>by</FONT> ID <FONT color=#0000ff>Desc</FONT><BR>----------------------------------<BR>N到结尾记录<BR><FONT color=#0000ff>Select</FONT> Top N * <FONT color=#0000ff>From</FONT> 表 <FONT color=#0000ff>Order by</FONT> ID <FONT color=#0000ff>Desc</FONT></P>
<P><FONT color=#000000><STRONG>8.如何修改数据库的名称:<BR></STRONG></FONT><FONT color=#0000ff>sp_renamedb</FONT> 'old_name', 'new_name' </P>
<P><FONT color=#000000>9:获取当前数据库中的所有用户表<BR></FONT><FONT color=#0000ff>select</FONT> Name <FONT color=#0000ff>from</FONT> sysobjects <FONT color=#0000ff>where</FONT> xtype='u' and status>=0</P>
<P><FONT color=#000000>10:获取某一个表的所有字段<BR></FONT><FONT color=#0000ff>select</FONT> name <FONT color=#0000ff>from</FONT> syscolumns <FONT color=#0000ff>where</FONT> id=object_id('表名')</P>
<P><FONT color=#000000>11:查看与某一个表相关的视图、存储过程、函数<BR></FONT><FONT color=#0000ff>select</FONT> a.* <FONT color=#0000ff>from</FONT> sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'</P>
<P><FONT color=#000000>12:查看当前数据库中所有存储过程<BR></FONT><FONT color=#0000ff>select</FONT> name as 存储过程名称 <FONT color=#0000ff>from</FONT> sysobjects <FONT color=#0000ff>where</FONT> xtype='P'</P>
<P><FONT color=#000000>13:查询用户创建的所有数据库<BR></FONT><FONT color=#0000ff>select</FONT> * <FONT color=#0000ff>from</FONT> master..sysdatabases D <FONT color=#0000ff>where</FONT> sid not in(select sid from master..syslogins where name='sa')<BR>或者<BR>select dbid, name AS DB_NAME <FONT color=#0000ff>from</FONT> master..sysdatabases <FONT color=#0000ff>where</FONT> sid <> 0x01</P>
<P><FONT color=#000000>14:查询某一个表的字段和数据类型<BR></FONT><FONT color=#0000ff>select</FONT> column_name,data_type <FONT color=#0000ff>from</FONT> information_schema.columns<BR>where table_name = '表名' </P>
<P><FONT color=#000000><STRONG>[n].[标题]:<BR></STRONG></FONT><FONT color=#0000ff>Select</FONT> * <FONT color=#0000ff>From</FONT> TableName <FONT color=#0000ff>Order By</FONT> CustomerName </P>
<P><FONT color=#000000><STRONG>[n].[标题]:<BR></STRONG></FONT><FONT color=#0000ff>Select</FONT> * <FONT color=#0000ff>From</FONT> TableName <FONT color=#0000ff>Order By</FONT> CustomerName </P></DIV> 这么好的东西没人顶啊...<BR>谢谢版主...收下了.. <P>收下了 3q楼主<BR> 顶</P> 真没想到SQL还能这么用,[em03]<BR>长见识了。 这东东对我很有帮助~谢谢版主!! 谢谢,顶一下 不错,顶<BR>希望板主多努力,搞更多些好东西让大家分享!! 支持再说 谢了<BR> 一般没有太大用处!?<BR> 长知识 这个东东太好了!!<BR>我顶!我顶!我顶顶顶!! *** 作者被禁止或删除 内容自动屏蔽 *** <P>一级棒</P> [em17] <P>好帖都沉底咯~~~~~~~~~~~~~`<BR>[em01][em01][em01][em01][em01]</P> 好的东西,收下了,顶一下 谢谢了。 了解到了很多!顶 好东西,辛苦版主了!帮你顶
