SQL查询字段约束名的语句
select b.name from syscolumns a,sysobjects b
where a.id=object_id('tablename') and
b.id=a.cdefault and a.name='field1' and b.name like 'DF%'
1、查询所有表
select [id], [name] from [sysobjects] where [type] = 'u' order by [name]
2、查询所有数据库
3、select [name] from [sysdatabases] order by [name]
查询表中字段
select [name] from [syscolumns] where [name] = 'tableXXX'order by [colid]
oracle
1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表
3、查找表的唯一性约束(包括名称,构成列):
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表
查询外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称
查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名
5、查询表的所有列及其属性
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表
6、查询所有表
select* from tabs
7、查询数据赋值
DECLARE @val INT //定义变量
SELECT TOP 10 @val= 列名 FROM 表名 //给变量赋值
SELECT @val //查看变量的值
8.定义表
DECLARE @qustRes TABLE(列名 数据类型);
INSERT INTO @qustRes SELECT 列 from 表名 //将表里的数据查出插入定义的表
9.判断sql是否存在存储过程
----sqlserver判断
if (exists (select * from sys.objects where name = '存储过程名称'))
drop proc proc_test
go
create.....
----oracle判断
select status from all_objects where object_type = 'PROCEDURE' and OWNER='用户名' and object_name='存储过程名';
or
select status from user_objects where object_type = 'PROCEDURE' and object_name='存储过程名';
10 判断视图是否存在
Sql代码
--SQL Server 2000
IF EXISTS (SELECT * FROM sysviews WHERE object_id = ’[dbo].[视图名]’
11 判断临时表是否存在
Sql代码
if object_id(’tempdb..#临时表名’) is not null
12 判断数据库教程是否存在
Sql代码
if exists (select * from sys.databases where name = ’数据库名’)
13 判断表是否存在
Sql代码
if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
14.排序
ORDER BY CHARINDEX(字符串,子字符)
15. 生产行号
Select ROW_NUMBER() over(order by id) As R
16 联表更新
update a set a.education = '本科' from NT_UserInfo a ,NT_User b where
a.UserID=b.UserID and b.email = 'carlfan2008@163.com'
17 Case when 的使用方法
case when '条件'
then
else
end
或者
case 属性
when '值'
then
when '值'
then
when '值'
then
end
18.创建函数
--创建函数(返回varchar类型的值)
create function test(@Num varchar(20))--@Num 参数
returns varchar(50) --返回值类型
as
begin
declare @MSG varchar(20)
if(@Num =1)
select @MSG ='正确'
else
select @MSG ='错误'
return @MSG
end
--调用函数
select dbo.test(2)--传递参数2
返回结果:错误
--创建返回Table类型的函数
USE pubs
create function GetTableDetails()
returns TABLE
as
return (select * from sales )
--创建返回Table类型的函数create function fun_Report(
@policestationId varchar(50)
)
returns @tab table()
begin
insert into @tab select * from t
end
--调用函数
select * from dbo.GetTableDetails()--dbo.需要注意
返回sales表的所有记录。
19.删除函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[test]
20.抛出数据库异常
RAISERROR('sfsadf',12,12)
21. 删除指定长度的字符串并在指定的起始点插入另一组字符
STUFF()
22.查询表字段对应的属性
SELECT a.NAME,b.name,c.name FROM sysobjects a,syscolumns b,systypes c
WHERE a.id=b.id AND b.xtype=c.xtype AND a.name='TB_SM_QUEUE_LOG'
23.字段类型
SELECT * FROM systypes
24.字段信息
SELECT * FROM syscolumns
25.字段属性段类型
SELECT * FROM sysobjects
26.列的默认值
SELECT * FROM sys.default_constraints
27. --查进程,
select * from sys.sysprocesses
28.--查用户相关信息
select * from sys.sysusers
29.--此命令可以看到连接情况
Select * from sys.dm_exec_connections
30.看到有多少会话
select session_id,status,login_name,login_time,* from sys.dm_exec_sessions
31.--查请求的ID
Select sql_handle,* from sys.dm_exec_requests
32.等待
waitfor DELAY '00:00:01'; 等待间隔多久
waitfor TIME'00:00:01';等到什么时间
33.死锁查询
EXECUTE sp_lock
EXECUTE sp_who 54
DBCC INPUTBUFFER(54)
这个DBCC命令将返回正在EventInfo字段中运行的语句的相关信息,可以显示正在执行的sql命令
EXECUTE sp_who 52
34.解除死锁
Kill spid
select b.name from syscolumns a,sysobjects b
where a.id=object_id('tablename') and
b.id=a.cdefault and a.name='field1' and b.name like 'DF%'
1、查询所有表
select [id], [name] from [sysobjects] where [type] = 'u' order by [name]
2、查询所有数据库
3、select [name] from [sysdatabases] order by [name]
查询表中字段
select [name] from [syscolumns] where [name] = 'tableXXX'order by [colid]
oracle
1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表
3、查找表的唯一性约束(包括名称,构成列):
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表
查询外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称
查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名
5、查询表的所有列及其属性
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表
6、查询所有表
select* from tabs
7、查询数据赋值
DECLARE @val INT //定义变量
SELECT TOP 10 @val= 列名 FROM 表名 //给变量赋值
SELECT @val //查看变量的值
8.定义表
DECLARE @qustRes TABLE(列名 数据类型);
INSERT INTO @qustRes SELECT 列 from 表名 //将表里的数据查出插入定义的表
9.判断sql是否存在存储过程
----sqlserver判断
if (exists (select * from sys.objects where name = '存储过程名称'))
drop proc proc_test
go
create.....
----oracle判断
select status from all_objects where object_type = 'PROCEDURE' and OWNER='用户名' and object_name='存储过程名';
or
select status from user_objects where object_type = 'PROCEDURE' and object_name='存储过程名';
10 判断视图是否存在
Sql代码
--SQL Server 2000
IF EXISTS (SELECT * FROM sysviews WHERE object_id = ’[dbo].[视图名]’
11 判断临时表是否存在
Sql代码
if object_id(’tempdb..#临时表名’) is not null
12 判断数据库教程是否存在
Sql代码
if exists (select * from sys.databases where name = ’数据库名’)
13 判断表是否存在
Sql代码
if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
14.排序
ORDER BY CHARINDEX(字符串,子字符)
15. 生产行号
Select ROW_NUMBER() over(order by id) As R
16 联表更新
update a set a.education = '本科' from NT_UserInfo a ,NT_User b where
a.UserID=b.UserID and b.email = 'carlfan2008@163.com'
17 Case when 的使用方法
case when '条件'
then
else
end
或者
case 属性
when '值'
then
when '值'
then
when '值'
then
end
18.创建函数
--创建函数(返回varchar类型的值)
create function test(@Num varchar(20))--@Num 参数
returns varchar(50) --返回值类型
as
begin
declare @MSG varchar(20)
if(@Num =1)
select @MSG ='正确'
else
select @MSG ='错误'
return @MSG
end
--调用函数
select dbo.test(2)--传递参数2
返回结果:错误
--创建返回Table类型的函数
USE pubs
create function GetTableDetails()
returns TABLE
as
return (select * from sales )
--创建返回Table类型的函数create function fun_Report(
@policestationId varchar(50)
)
returns @tab table()
begin
insert into @tab select * from t
end
--调用函数
select * from dbo.GetTableDetails()--dbo.需要注意
返回sales表的所有记录。
19.删除函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[test]
20.抛出数据库异常
RAISERROR('sfsadf',12,12)
21. 删除指定长度的字符串并在指定的起始点插入另一组字符
STUFF()
22.查询表字段对应的属性
SELECT a.NAME,b.name,c.name FROM sysobjects a,syscolumns b,systypes c
WHERE a.id=b.id AND b.xtype=c.xtype AND a.name='TB_SM_QUEUE_LOG'
23.字段类型
SELECT * FROM systypes
24.字段信息
SELECT * FROM syscolumns
25.字段属性段类型
SELECT * FROM sysobjects
26.列的默认值
SELECT * FROM sys.default_constraints
27. --查进程,
select * from sys.sysprocesses
28.--查用户相关信息
select * from sys.sysusers
29.--此命令可以看到连接情况
Select * from sys.dm_exec_connections
30.看到有多少会话
select session_id,status,login_name,login_time,* from sys.dm_exec_sessions
31.--查请求的ID
Select sql_handle,* from sys.dm_exec_requests
32.等待
waitfor DELAY '00:00:01'; 等待间隔多久
waitfor TIME'00:00:01';等到什么时间
33.死锁查询
EXECUTE sp_lock
EXECUTE sp_who 54
DBCC INPUTBUFFER(54)
这个DBCC命令将返回正在EventInfo字段中运行的语句的相关信息,可以显示正在执行的sql命令
EXECUTE sp_who 52
34.解除死锁
Kill spid