數據庫開發金典技巧

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 '?'
'www.knowsky.com
7.記錄XP:
開頭到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

8.如何XP改數據庫的名稱:
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

-語 句                功 能 
--數據操作 
SELECT   --從數據庫表中檢索數據行和列 
INSERT   --向數據庫表添加新數據行 
DELETE   --從數據庫表中刪除數據行 
UPDATE   --更新數據庫表中的數據 
--數據定義 
CREATE TABLE  --創建一個數據庫表 
DROP TABLE   --從數據庫中刪除表 
ALTER TABLE   --修改數據庫表結構 
CREATE VIEW   --創建一個視圖 
DROP VIEW   --從數據庫中刪除視圖 
CREATE INDEX  --爲數據庫表創建一個索引 
DROP INDEX   --從數據庫中刪除索引 
CREATE PROCEDURE  --創建一個存儲過程 
DROP PROCEDURE  --從數據庫中刪除存儲過程 
CREATE TRIGGER  --創建一個觸發器 
DROP TRIGGER  --從數據庫中刪除觸發器 
CREATE SCHEMA  --向數據庫添加一個新模式 
DROP SCHEMA   --從數據庫中刪除一個模式 
CREATE DOMAIN  --創建一個數據值域 
ALTER DOMAIN  --改變域定義 
DROP DOMAIN   --從數據庫中刪除一個域 
--數據控制 
GRANT   --授予用戶訪問權限 
DENY   --拒絕用戶訪問 
REVOKE   --解除用戶訪問權限 
--事務控制 
COMMIT   --結束當前事務 
ROLLBACK   --中止當前事務 
SET TRANSACTION  --定義當前事務數據訪問特徵 
--程序化SQL 
DECLARE   --爲查詢設定遊標 
EXPLAN   --爲查詢描述數據訪問計劃 
OPEN   --檢索查詢結果打開一個遊標 
FETCH   --檢索一行查詢結果 
CLOSE   --關閉遊標 
PREPARE   --爲動態執行準備SQL 語句 
EXECUTE   --動態地執行SQL 語句 
DESCRIBE   --描述準備好的查詢 

---局部變量 
declare @id char(10) 
--set @id = ’10010001’ 
select @id = ’10010001’ 

---全局變量 
---必須以@@開頭 

--IF ELSE 
declare @x int @y int @z int 
select @x = 1 @y = 2 @z=3 
if @x &gt; @y 
print ’x &gt; y’ --打印字符串’x &gt; y’ 
else if @y &gt; @z 
print ’y &gt; z’ 
else print ’z &gt; y’ 

--CASE 
use

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
閱讀(146) | 評論(0) | 轉發(0) |
給主人留下些什麼吧!~~
評論熱議
發佈了47 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章