Chinaunix首页 | 论坛 | 博客
  • 博客访问: 170314
  • 博文数量: 56
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-12 10:39
文章分类

全部博文(56)

文章存档

2009年(1)

2008年(55)

我的朋友
最近访客

分类: 数据库开发技术

2008-07-05 00:49:02

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)
阅读(1248) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~