1.按姓氏笔画排序:
Select
*
From
TableName
Order
By
CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密:
select
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
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
=
'
表名
'









































