400-680-8581
欢迎访问:路由通
中国IT知识门户
位置:路由通 > 资讯中心 > 零散代码 > 文章详情

MSSQL在知道列名的情况下查询在哪个一数据表里

作者:路由通
|
308人看过
发布时间:2018-11-08 13:32:03
标签:
在 MSSQL 中,已知列名需查找其所属数据表,可通过以下方法实现:方法一:使用 INFORMATION_SCHEMA.COLUMNS 系统视图‌,方法二:通过 sys.columns 和 sys.tables 系统表‌,SELECT t.name AS TableName FROM sys.tables t JOIN sys.columns c ON t.object_id = c.object_id WHERE c.name = \'YourColumnName\';
MSSQL在知道列名的情况下查询在哪个一数据表里
select tab.name
from syscolumns as col
inner join sysobjects as tab on col.id=tab.id
where col.name=&39;bm&39;
查询列名在哪一个表col.name=“列名”

在 MSSQL 中,已知列名需查找其所属数据表,可通过以下方法实现:



方法一:使用 INFORMATION_SCHEMA.COLUMNS 系统视图


此方法为标准 SQL 实现,适用于所有兼容 SQL 标准的数据库(包括 MSSQL),语法如下:


SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = &39;YourColumnName&39;;


  • 说明‌:替换 YourColumnName 为目标列名,结果将返回包含该列的所有表名

  • 扩展‌:若需同时获取数据库名及列数据类型,可添加字段 TABLE_SCHEMADATA_TYPE




方法二:通过 sys.columnssys.tables 系统表


此方法基于 MSSQL 特有的系统视图,可获取更底层信息:


SELECT t.name AS TableName FROM sys.tables t JOIN sys.columns c ON t.object_id = c.object_id WHERE c.name = &39;YourColumnName&39;;


  • 说明‌:通过关联系统表 sys.tablessys.columns,精准定位列所属表

  • 详细信息‌:若需列的数据类型或架构名,可扩展查询字段:


    SELECT t.name AS TableName, c.name AS ColumnName, ty.name AS DataType FROM sys.tables t JOIN sys.columns c ON t.object_id = c.object_id JOIN sys.types ty ON c.user_type_id = ty.user_type_id WHERE c.name = &39;YourColumnName&39;; :ml-citationref="3" data="citationList"




方法三:兼容旧版本 MSSQL 的查询方式


针对早期版本(如 SQL Server 2000),可使用 sysobjectssyscolumns


SELECT OBJECT_NAME(id) AS TableName FROM syscolumns WHERE name = &39;YourColumnName&39; AND id IN (SELECT id FROM sysobjects WHERE xtype = &39;U&39;);


  • 说明‌:sysobjects.xtype = &39;U&39; 用于筛选用户表




注意事项



  1. 列名大小写‌:MSSQL 默认不区分大小写,但若数据库设置为区分大小写,需确保列名匹配

  2. 限定数据库‌:若需指定数据库,可在查询中限定 TABLE_SCHEMA 或使用全限定名(如 DatabaseName.INFORMATION_SCHEMA.COLUMNS

  3. 权限要求‌:需对系统视图(如 INFORMATION_SCHEMAsys.tables)有查询权限

相关文章
EXCEL工作表保护密码忘记了,如何撤消工作表保护?
文末提供TXT文本下载,打开文件 ,工具---宏----录制新宏---输入名字如:toro 停止录制(这样得到一个空宏) 工具---宏----宏,选aa,点编辑按钮 删除窗口中的所有字符(只有几个),替换为下面的内容:(你复制吧)如果以上方法无法解决,可能需要接受数据不可编辑的现实,或尝试回忆密码组合(如常用数字、日期等)。
2018-04-09 18:43:09
71人看过
警惕这个玩客币交易网站otctrade

        最近搞了了迅雷的玩客云设备完,今天突然发现已经有玩客币交易的网站,注册了后发现主页下面CopyRight©

2017-10-18 15:41:16
61人看过
最简单的方法知道光猫的超级密码
这个方法支持 华为HG8245C 华为HG8120C  华为e8c 上海贝尔 I-240W-Q ZXHN F460 贝尔RG200o-ca ZXA10 F660 中兴 F420
2015-05-26 22:03:19
209人看过
魔豆路由器器抛弃原有的系统改用OpenWrt
魔豆路由器【2015年01月15号】发布OpenWrt_开发版ROM推送公告,16日作者更新此新系统,并未发现有什么新的变化,依然不能安装迅雷离线下载。魔豆路由器官方花时间抛弃原有的系统,重做新系统个...
2015-01-17 16:26:13
107人看过
无线路由器怎么设置简短教程
1.有线宽带网线插入无线路由WAN口,然后用一根网线从LAN口与你的笔记本(或台式机)直连。 
2015-01-12 12:31:10
303人看过
路由器爱情

为什么爱情不能像路由器设置VLAN一样把不同的“IP”的人绑在一起。

为什么周围的事物不能像路由器创建ACL那样随心所欲的控制。

为什么相爱的人远在天涯却不能像路由器做VPN一样,拉到近在...

2015-01-09 13:07:06
35人看过