SQL 通過某個欄位名稱找到資料庫中對應的表

2022-03-30 01:43:15 字數 1032 閱讀 6900

工作中,我們經常會碰到會為乙個已有的系統增加一些東西,如在報表中增加一些字段,或者在匯出excel檔案時增加一些column. 這時侯,我們不知道我們需要的資料在資料庫中的哪個表中。至少,我們知道這個欄位的名稱吧!那我們就通過欄位名稱來找到資料庫中對應的表。下面給出**示例:

use

adventureworks

goselect

distinct

object_name

(id)

from

syscolumns

where

name

like

'%employeeid%

'orderby1

go

我需要找到employeeid是從哪個表裡面來的,通過執行上面一條語句,可以找到所有使用了employeeid的表,檢視,儲存過程,函式等等。通過名稱排除檢視,儲存過程,函式等等,剩下的都是表了。仔細分析一下,不難找到employeeid的主表。

object_name(id):返回指定id的物件名稱;

syscolumns: 每個表和檢視中的每列在表中佔一行,儲存過程中的每個引數在表中也佔一行。該錶位於每個資料庫中;

name : 是syscolumns 中的列,儲存列名或過程引數的名稱。

既然syscolumns是表示資料庫系統中的行集,那sysobjects 就表示系統中所有的物件集,如表,檢視等。下面的資料庫語句可以查詢資料庫中是否含有指定表。

select

*from

sysobjects

where

object_name

(id) in(

'oe_order_lines_all',

'oe_order_headers_all',

'oe_transaction_types_tl',

'fndlookupvalues',

'hz_cust_site_uses_all',

'hz_cust_acct_sites_all')

查詢某個欄位名在某些表

最近做程式,要把某些欄位的批量值修改一下,例如性別 和id轉換,於是寫了個函式,來呼叫。很簡單貽笑大方了。create function f gettablenamelist incolumnname as varchar 50 returns varchar 500 begin 內部變數 decl...

用SQL命令修改欄位名稱

sp rename是乙個功能豐富的儲存過程,能夠對 表 檢視 列 儲存過程 觸發器 預設值 資料庫 物件或規則進行重新命名,並且保證不丟失資料。sp renamedb 更改資料庫的名稱。下例將資料庫 accounting 改名為 financial。sql server 2005 新增字段 alte...

mysql通過字段注釋查詢欄位名稱

原文 mysql通過字段注釋查詢欄位名稱 有時候表的字段太多,只是大致記得表的注釋,想通過字段注釋查詢欄位名稱,可以用如下語句 select column name,column comment from information schema.columns where table name tj ...