查询整个数据库中的某些特定信息

本文介绍两种SQL查询技巧:一是如何找出数据库中包含特定列的所有表;二是如何搜索包含特定关键字的所有表。提供了实用的SQL脚本,帮助开发者快速定位所需的数据表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.查询数据库中所有含有某个列名的表

select TABLE_NAME  from INFORMATION_SCHEMA.COLUMNS a where column_name = '关键字'


2.查询数据库所有含有某个关键字的表

if OBJECT_ID('temp_search_table') is not null --判断是否需要建表

   drop table temp_search_table

Go

 

create table temp_search_table  --建表

(

table_name nvarchar(100),

column_name nvarchar(100),

column_search_value nvarchar(max)

)

Go

 

declare @sql nvarchar(max);

declare @search_str nvarchar(100);

 

set @sql = ''

set @search_str = '%合格%';   --这里是你要查找的某个关键字,修改为你想要找的关键字

select @sql = @sql + 'insert into temp_search_table '+

                     'select '''+t.name +''' as table_name,''' + 

                     c.name+ ''' as column_name, ['+

                     c.name + '] from ['+t.name + 

                     '] where ['+c.name +'] like '''+@search_str+''';'

from sys.tables t

inner join sys.columns c

        on t.object_id = c.object_id 

inner join sys.types tp

        on c.system_type_id = tp.system_type_id

           and c.user_type_id = tp.user_type_id

           and tp.name in ('char','varchar','nchar','nvarchar')

where t.name <> 'temp_search_table'

 

--select @sql

 

exec(@sql)

 

--最后查找,你找到的内容

select *

from temp_search_table

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值