用户名:  密码:
兄弟在线   

标题:T-SQL查询技巧语句

作者:agui005 来源:http://www.xdlmn.com 时间:2011-11-04

  

 
 
 
1.按姓氏笔画排序:
   Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密:
   select encrypt('原始密码')
   select pwdencrypt('原始密码')
   select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码')
   select pwdencrypt('原始密码')
   select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同
3.取回表中字段:
   declare @list varchar(1000),@sql nvarchar(1000)
   select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name='表A'
   set @sql='select '+right(@list,len(@list)-1)+' from 表A'
   exec (@sql)
4.查看硬盘分区:EXEC master..xp_fixeddrives
5.比较A,B表是否相等:
   if (select checksum_agg(binary_checksum(*)) from A)
     =(select checksum_agg(binary_checksum(*)) from B)
   print '相等'
   else
   print '不相等'
6.杀掉所有的事件探察器进程:
   DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid) FROM master.dbo.sysprocesses
   WHERE program_name IN('SQL profiler',N'SQL 事件探查器')
   EXEC sp_msforeach_worker '?'
7.记录搜索:
   开头到N条记录:Select Top N * From 表
   N到M条记录(要有主索引ID):
   Select Top M-N * From 表 Where ID in (Select Top M ID From 表) Order by ID Desc
   N到结尾记录:Select Top N * From 表 Order by ID Desc
   从publish 表中取出第 n 条到第 m 条的记录:
   SELECT TOP m-n+1 * FROM publish WHERE (id NOT IN (SELECT TOP n-1 id FROM publish))
   随机提取N条记录的SQL语句
   SQLServer: Select top 10 * FROM 表 ORDER BY Newid()
   Access:    Select top 10 * FROM 表 ORDER BY Rnd(id)
               Select top 10 * FROM 表 ORDER BY Rnd(len(UserName))
   MySql:     Select * FROM 表 ORDER BY rand() Limit 10
   * Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成比如用姓名字段(UserName)
8.如何修改数据库的名称:sp_renamedb 'old_name', 'new_name'
9:获取当前数据库中的所有用户表
   select Name from sysobjects where xtype='u' and status>=0
10:获取某一个表的所有字段
   select name from syscolumns where id=object_id('表名')
11:查看与某一个表相关的视图、存储过程、函数
   select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'
12:查看当前数据库中所有存储过程
   select name as 存储过程名称 from sysobjects where xtype='P'
13:查询用户创建的所有数据库
   select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')
   或者
   select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01
14:查询某一个表的字段和数据类型
    select column_name,data_type from information_schema.columns
    where table_name = '表名'
    [n].[标题]:
    Select * From TableName Order By CustomerName
    [n].[标题]:
    Select * From TableName Order By CustomerName
15:sql sever中用sql命令查看表结构:
     可以使用内置的存储过程sp_MShelpcolumns。
     如查询表B_blog的结构:
     sp_MShelpcolumns 'dbo.blog'
16:将数据库school1的表Student备份到数据库Student中。但回丢失主键!
    use school1
    go
    select * into school.dbo.Student from Student
17:将文本数据到入表:
    BULK INSERT dbo.Spk1
    FROM 'G:\Spk1.txt' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
    Spk1.txt
    1,DSJ-120,电视机,1865.00,15
    2,DSJ-180,电视机,2073.00,10
    3,XYJ-13,洗衣机,486.00,20
    4,XYJ-20,洗衣机,873.00,12
    5,DBX-134,电冰箱,1456.00,8
    6,DSJ-340,电视机,3726.00,5
    7,WBL-6,微波炉,640.00,10
    8,KTQ-12,空调器,2800.00,12
18:最近一个月的信息:
    SELECT * FROM R_news WHERE (DATEDIFF(dd, N_Time, GETDATE()) < 30) 
 
 


总点击 [2823]   评论  0 查看评论
上一篇:右下角弹窗信息功能最小化也弹出
下一篇:手把手教你卸载oracle 10g
【关闭窗口】
您可能感兴趣的文章
我要评论
          
评论标题:   可以输入250
 
验证数字: 1 + 4 =
兄弟友情提示
· 请自觉遵守国家有关法律、法规,尊重网上道德。
· 兄弟在线坚决抵制不良言行,违者文责自负。
· 如果文章有版权或其他问题等,请联系我们,我们会尽快处理。
· 文章注名来自网络的旨在传播共享信息,不做其它用途;注名原创的本站支持原创,但不代表同意其观点。
· 兄弟在线拥有管理用户与其文章和评论的一切权利,并有权在网站内转载或引用。
兄弟在线
兄弟热门文章
兄弟推荐文章
兄弟站内搜索

兄弟感兴趣的文章
兄弟最新影视