真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

sqlserver找列名,sql server查詢(xún)表的所有列名

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

主鍵約束

成都創(chuàng)新互聯(lián)公司一直通過(guò)網(wǎng)站建設(shè)和網(wǎng)站營(yíng)銷(xiāo)幫助企業(yè)獲得更多客戶(hù)資源。 以"深度挖掘,量身打造,注重實(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 [主鍵名稱(chēng)],

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 [約束名稱(chēng)],

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 [子表名稱(chēng)],

fk.name AS [外鍵名稱(chēng)],

SubCol.name AS [子表列名],

oMain.name AS [主表名稱(chēng)],

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)查詢(xún)指定表的列信息。

利用sql語(yǔ)句來(lái)查詢(xún)列信息,就是要用到系統(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。利用它,我們就可以查詢(xún)指定表的所有列信息,比如下面的sql語(yǔ)句是查詢(xún)表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è)示例。

如果我們要查詢(xún)表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ì)算列。利用該列,我們也就可以查詢(xún)某個(gè)表的所有計(jì)算列了,比如我們要查詢(xún)表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ū)中查詢(xún)

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ù)的名稱(chēng):

use master

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

go

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

use [DBname]

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

--通過(guò)上面的查詢(xún)的id,可以查出這個(gè)表中所有的字段,例如我們查詢(xún)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]


新聞名稱(chēng):sqlserver找列名,sql server查詢(xún)表的所有列名
標(biāo)題路徑:http://weahome.cn/article/dsijsed.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部