SQL查询数据库中所有含有某一列的所有表

(以前不知道这些都能直接写SQL语句查询出来,只会自己一个表一个表的点开看,现在想想觉得真傻!)

 

 

SQL查询数据库中所有含有某一列的所有表:
SELECT name FROM sysobjects
WHERE id IN (SELECT id FROM syscolumns WHERE syscolumns.NAME ='列名')
AND sys.sysobjects.xtype ='U'
ORDER BY sys.sysobjects.name

SQL查询数据库里所有表:

SELECT * FROM sysobjects WHERE xtype ='u'

查询数据库中是否存在某个表:

select count(1) from sys.objects where name = '表名'(不能带上dbo.)

select ObjectProperty(Object_ID( '表名'),'IsUserTable')

 

查询数据库中所有表所有列名及其描述和类型

 

select tab.name 表名 ,col.name 列名,typ.name 类型,col.max_length 长度,col.is_nullable 是否可为空,pro.value 描述
from sys.tables tab
join  sys.columns col on tab.object_id = col.object_id
left join systypes typ on col.system_type_id = typ.xusertype
left join sys.extended_properties pro on col.column_id = pro.minor_id and tab.object_id = pro.major_id
order by tab.name,col.column_id

 

 

原文地址:https://www.cnblogs.com/see-you/p/SQL.html