欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

sqlserver找列名,sql server查詢表的所有列名

sqlserver數(shù)據(jù)庫(kù)里怎么查找一個(gè)表里的約束,要查出 約束名、列名、約束類(lèi)型?用sql語(yǔ)句查詢

主鍵約束

成都創(chuàng)新互聯(lián)公司一直通過(guò)網(wǎng)站建設(shè)和網(wǎng)站營(yíng)銷(xiāo)幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、營(yíng)銷(xiāo)型網(wǎng)站服務(wù)為核心業(yè)務(wù)。十余年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開(kāi)發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡(jiǎn)單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

SELECT

tab.name AS [表名],

idx.name AS [主鍵名稱],

col.name AS [主鍵列名]

FROM

sys.indexes idx

JOIN sys.index_columns idxCol

ON (idx.object_id = idxCol.object_id

AND idx.index_id = idxCol.index_id

AND idx.is_primary_key = 1)

JOIN sys.tables tab

ON (idx.object_id = tab.object_id)

JOIN sys.columns col

ON (idx.object_id = col.object_id

AND idxCol.column_id = col.column_id);

唯一約束

SELECT

tab.name AS [表名],

idx.name AS [約束名稱],

col.name AS [約束列名]

FROM

sys.indexes idx

JOIN sys.index_columns idxCol

ON (idx.object_id = idxCol.object_id

AND idx.index_id = idxCol.index_id

AND idx.is_unique_constraint = 1)

JOIN sys.tables tab

ON (idx.object_id = tab.object_id)

JOIN sys.columns col

ON (idx.object_id = col.object_id

AND idxCol.column_id = col.column_id);

外鍵約束

select

oSub.name AS [子表名稱],

fk.name AS [外鍵名稱],

SubCol.name AS [子表列名],

oMain.name AS [主表名稱],

MainCol.name AS [主表列名]

from

sys.foreign_keys fk

JOIN sys.all_objects oSub

ON (fk.parent_object_id = oSub.object_id)

JOIN sys.all_objects oMain

ON (fk.referenced_object_id = oMain.object_id)

JOIN sys.foreign_key_columns fkCols

ON (fk.object_id = fkCols.constraint_object_id)

JOIN sys.columns SubCol

ON (oSub.object_id = SubCol.object_id

AND fkCols.parent_column_id = SubCol.column_id)

JOIN sys.columns MainCol

ON (oMain.object_id = MainCol.object_id

AND fkCols.referenced_column_id = MainCol.column_id)

Check約束

SELECT

tab.name AS [表名],

chk.name AS [Check約束名],

col.name AS [列名],

chk.definition

FROM

sys.check_constraints chk

JOIN sys.tables tab

ON (chk.parent_object_id = tab.object_id)

JOIN sys.columns col

ON (chk.parent_object_id = col.object_id

AND chk.parent_column_id = col.column_id)

如何在sqlserver中獲取表的所有列信息

microsoft sql server management studio中展開(kāi)對(duì)應(yīng)表下面的列信息不就可以看到列的詳細(xì)信息了么?當(dāng)然這是可以的,但這里我們主要講的時(shí)如何利用sql語(yǔ)句來(lái)查詢指定表的列信息。

利用sql語(yǔ)句來(lái)查詢列信息,就是要用到系統(tǒng)視圖sys.columns,這個(gè)視圖記錄了數(shù)據(jù)庫(kù)中所有表,視圖,表值函數(shù)等的所有列信息。我們可以利用語(yǔ)句select * from sys.columns來(lái)查看這個(gè)視圖返回的信息。

sys.columns返回的列比較多,大部分情況下很多列的信息我們可能用不到,下面我們只解釋一下比較常用的列的信息。

1,object_id--這個(gè)列是比較重要的,它是返回當(dāng)前列所屬表的ID。利用它,我們就可以查詢指定表的所有列信息,比如下面的sql語(yǔ)句是查詢表table1的所有列信息。

select * from sys.columns where object_id=object_id('table1')

2,name--該列的列名。

3,column_id--該列在數(shù)據(jù)庫(kù)中的ID,注意,數(shù)據(jù)庫(kù)中任何對(duì)象的ID都是唯一的。

4,system_type_id--該列的類(lèi)型的ID,和下面max_length,precision,scale三列一起可以來(lái)舉個(gè)示例。

5,max_length--該列的最大長(zhǎng)度

6,precisionp--如果這列是數(shù)值列,那么這是該列的精度,否則就是0

7,scale--如果這列是數(shù)值列,那么這就是列的小數(shù)位數(shù),否則就是0

system_type_id,max_length,precision,scale四列結(jié)合系統(tǒng)視圖sys.types一起我們來(lái)舉個(gè)示例。

如果我們要查詢表table1的所有列,及列的類(lèi)型,列的精度,列的小數(shù)位數(shù),sql語(yǔ)句如下:

select a.name,b.name,a.max_length,a.precision,a.scale

from sys.columns a left join sys.types b on a.user_type_id=b.user_type_id

where a.object_id=object_id('table1')

8,is_nullable--該列是否可以為null

9,is_identity--該列是否是標(biāo)識(shí)列

10,is_computed--該列是否是計(jì)算列。利用該列,我們也就可以查詢某個(gè)表的所有計(jì)算列了,比如我們要查詢表table1中的所有計(jì)算列,sql語(yǔ)句如下:

select * from sys.columns where object_id=object_id('table1') and is_computed=1

sys.columns視圖中常用的列就是這10列了,其它列的信息大家可以到SQLServer 2005聯(lián)機(jī)叢書(shū)中查詢

sql 獲取列名

--讀取庫(kù)中的所有表名

select name from sysobjects where xtype='u'

--讀取指定表的所有列名

select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')

在sqlserver2000中怎么查表的列名并按在表中的順序顯示?

--通過(guò)如下語(yǔ)句得到當(dāng)前Sql server中所有的數(shù)據(jù)的名稱:

use master

select [name] from [sysdatabases] order by [name]

go

-- 查詢數(shù)據(jù)庫(kù)中的所有用戶表

use [DBname]

select [id], [name] from [sysobjects] where [type] = 'u' order by [name]

--通過(guò)上面的查詢的id,可以查出這個(gè)表中所有的字段,例如我們查詢BaseData表中所有的字段,就可以通過(guò)下面的語(yǔ)句查出:

select [name] from [syscolumns] where [id] = 2087000699 order by [colid]

go

你所說(shuō)的問(wèn)題的語(yǔ)句是:

select [name], * from [syscolumns] order by [id]

本文標(biāo)題:sqlserver找列名,sql server查詢表的所有列名
文章轉(zhuǎn)載:http://chinadenli.net/article41/dsijsed.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站網(wǎng)站設(shè)計(jì)公司用戶體驗(yàn)企業(yè)網(wǎng)站制作網(wǎng)站建設(shè)小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司