亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL獲取所有數(shù)據(jù)庫名、表名、儲(chǔ)存過程以及參數(shù)

系統(tǒng) 1752 0
原文: SQL獲取所有數(shù)據(jù)庫名、表名、儲(chǔ)存過程以及參數(shù)列表

1 .獲取所有用戶名:
SELECT?name?FROM?Sysusers?
where ?status = ' 2 ' ?and?islogin = ' 1 '
islogin
= ' 1 ' 表示帳戶
islogin
= ' 0 ' 表示角色
status
= ' 2 ' 表示用戶帳戶
status
= ' 0 ' 表示糸統(tǒng)帳戶
2 .獲取所有數(shù)據(jù)庫名:
SELECT?Name?FROM?Master..SysDatabases?ORDER?BY?Name
3 .獲取所有表名
SELECT?Name?FROM?DatabaseName..SysObjects?Where?XType
= ' U ' ?ORDER?BY?Name
XType
= ' U ' :表示所有用戶表;
XType
= ' S ' :表示所有系統(tǒng)表;
4 .獲取所有字段名:
SELECT?Name?FROM?SysColumns?WHERE?id
= Object_Id( ' TableName ' )
5 .獲取數(shù)據(jù)庫所有類型
select?name?from?systypes?
6 .獲取主鍵字段
SELECT??name?FROM?SysColumns?WHERE?id
= Object_Id( ' 表名 ' )?and?colid = (select?top? 1 ?keyno?from?sysindexkeys? where ?id = Object_Id( ' 表名 ' ))


[綜合網(wǎng)絡(luò)資料整理]

1. 獲取所有數(shù)據(jù)庫名 :
?? (1)
Select Name FROM Master..SysDatabases order?by Name
2.
獲取所有表名 :
?? (1) Select Name FROM SysObjects Where XType='U' orDER BY Name
?????????? XType='U':
表示所有用戶表 ;
?????????? XType='S':
表示所有系統(tǒng)表 ;

?? (2) SELECT name FROM sysobjects WHERE type = 'U' AND sysstat = '83'

?????????? 注意:一般情況只需要 type = 'U' ,但有時(shí)候會(huì)有系統(tǒng)表混在其中(不知道什么原因),加上后面一句后就能刪除這些系統(tǒng)表了


3.
獲取所有字段名 :
(1)
Select Name FROM SysColumns Where id=Object_Id('TableName')

(2) SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype AND "syscolumns.id = object_id('tableName')

?????? 注意點(diǎn):
????
a )這里為了重點(diǎn)突出某些重要內(nèi)容,選取了其中幾項(xiàng)信息輸出。
????
b syscolumns 表中只含有數(shù)據(jù)類型編號(hào),要獲取完整的名字需要從 systypes 表中找,一般用戶使用的數(shù)據(jù)類型用 xusertype 對(duì)應(yīng)比較好,不會(huì)出現(xiàn)一對(duì)多的情況。
????
c syscolumns.length 得到的是物理內(nèi)存的長度,所以 nvarchar varchar 等類型在數(shù)據(jù)庫中的顯示是這個(gè)的一半。

4 、得到表中主鍵所包含的列名 :

??? SELECT syscolumns.name FROM syscolumns,sysobjects,sysindexes,sysindexkeys WHERE syscolumns.id = object_id('tablename') AND sysobjects.xtype = 'PK' AND sysobjects.parent_obj = syscolumns.id AND sysindexes.id = syscolumns.id AND sysobjects.name = sysindexes.name AND sysindexkeys.id = syscolumns.id AND sysindexkeys.indid = sysindexes.indid AND syscolumns.colid = sysindexkeys.colid

注意:這是在 4 張系統(tǒng)表中尋找的,關(guān)系比較復(fù)雜,大致可以表示為:
syscolumns
中存有表中的列信息和表 id sysobjects 表中存有主鍵名字(即 PK_Table 類似)和表 id sysindexes 中存 有主鍵名字和表 id index 編號(hào), sysindexkeys 中存有表 id index 編號(hào)和列編號(hào),一項(xiàng)一項(xiàng)對(duì)應(yīng)起來后就能找到列名了。

?

另外的 SQL 代碼

select syscolumns . name , systypes . name , syscolumns . length from syscolumns ???

? left join systypes on syscolumns . xusertype = systypes . xusertype ?

? where id =( select id from sysobjects where name = ' 訂貨主檔 ' );

go;

或者用這樣的寫法,執(zhí)行結(jié)果一樣:

select syscolumns . name , systypes . name , syscolumns . length from syscolumns , systypes

where ( syscolumns . id = object_id ( ' 訂貨主檔 ' ) and syscolumns . xusertype = systypes . xusertype )

order by syscolumns . colorder;

go

執(zhí)行結(jié)果:(字段只出現(xiàn)一次,正常)

訂單號(hào)碼 ??? int 4

客戶編號(hào) ??? nvarchar ??? 10

員工編號(hào) ??? int 4

訂單日期 ??? datetime ??? 8

要貨日期 ??? datetime ??? 8

送貨日期 ??? datetime ??? 8

送貨方式 ??? int 4

運(yùn)費(fèi) ??? money ?? 8

收貨人 ? nvarchar ??? 80

送貨地址 ??? nvarchar ??? 120

送貨城市 ??? nvarchar ??? 30

送貨行政區(qū) ? nvarchar ??? 30

送貨郵政編碼 ??? nvarchar ??? 20

送貨國家地區(qū) ??? nvarchar ??? 30

?

?

select syscolumns . name , systypes . name , syscolumns . length from syscolumns ???

? left join systypes on syscolumns . xtype = systypes . xtype ?

? where id =( select id from sysobjects where name = ' 訂貨主檔 ' );

go;

執(zhí)行結(jié)果:(部分字段出現(xiàn)兩次,數(shù)據(jù)類型不同)

訂單號(hào)碼 ??? int 4

客戶編號(hào) ??? nvarchar ?? 10

客戶編號(hào) ??? sysname ??? 10

員工編號(hào) ??? int 4

訂單日期 ??? datetime ?? 8

訂單日期 ??? 出生日期類型 ??? 8

要貨日期 ??? datetime ?? 8

要貨日期 ??? 出生日期類型 ??? 8

送貨日期 ??? datetime ?? 8

送貨日期 ??? 出生日期類型 ??? 8

送貨方式 ??? int 4

運(yùn)費(fèi) ??? money ? 8

運(yùn)費(fèi) ??? 薪水類型 ??? 8

收貨人 ? nvarchar ?? 80

收貨人 ? sysname ??? 80

送貨地址 ??? nvarchar ?? 120

送貨地址 ??? sysname ??? 120

送貨城市 ??? nvarchar ?? 30

送貨城市 ??? sysname ??? 30

送貨行政區(qū) ? nvarchar ?? 30

送貨行政區(qū) ? sysname ??? 30

送貨郵政編碼 ??? nvarchar ?? 20

送貨郵政編碼 ??? sysname ??? 20

送貨國家地區(qū) ??? nvarchar ?? 30

送貨國家地區(qū) ??? sysname ??? 30

查詢存儲(chǔ)過程 DepartmentSalaryInfo 所有的信息,信息包含在系統(tǒng)視圖 syscolumns systypes

select syscolumns .*, systypes .* from syscolumns ???

? left join systypes on syscolumns . xusertype = systypes . xusertype ?

? where id =( select id from sysobjects where name = 'DepartmentSalaryInfo' );

go

?

?

exec ?? sp_procedure_params_rowset ?? @procedure_name ?? = ?? 'DepartmentSalaryInfo' ;

go

執(zhí)行結(jié)果:

北風(fēng)貿(mào)易 ??? dbo DepartmentSalaryInfo;1 ?? @RETURN_VALUE 0 ?? 4 ?? 0 ?? NULL ?? 0 ?? 3 ?? NULL ?? NULL ?? 10 ??? NULL ?? NULL ?? int int

北風(fēng)貿(mào)易 ??? dbo DepartmentSalaryInfo;1 ?? @department ?? 1 ?? 1 ?? 0 ?? NULL ?? 1 ?? 129 10 ? 10 ? NULL ??? NULL ?? NULL ?? varchar ??? varchar

北風(fēng)貿(mào)易 ??? dbo DepartmentSalaryInfo;1 ?? @average ?? 2 ?? 2 ?? 0 ?? NULL ?? 1 ?? 6 ?? NULL ?? NULL ?? 19 ??? NULL ?? NULL ?? money ? money

北風(fēng)貿(mào)易 ??? dbo DepartmentSalaryInfo;1 ?? @maximum ?? 3 ?? 2 ?? 0 ?? NULL ?? 1 ?? 6 ?? NULL ?? NULL ?? 19 ??? NULL ?? NULL ?? money ? money

北風(fēng)貿(mào)易 ??? dbo DepartmentSalaryInfo;1 ?? @minimum ?? 4 ?? 2 ?? 0 ?? NULL ?? 1 ?? 6 ?? NULL ?? NULL ?? 19 ??? NULL ?? NULL ?? money ? money

?

--存儲(chǔ)過程中的參數(shù)名,參數(shù)類型,參數(shù)長度

select syscolumns.name, systypes.name, syscolumns.length from syscolumns ???

? left join systypes on syscolumns.xusertype=systypes.xusertype ?

? where id=(select id from sysobjects where name='DepartmentSalaryInfo');



1:獲取當(dāng)前數(shù)據(jù)庫中的所有用戶表
select Name from sysobjects where xtype='u' and status>=0
2:獲取某一個(gè)表的所有字段
select name from syscolumns where id=object_id('表名')
3:查詢用戶創(chuàng)建的所有數(shù)據(jù)庫
select * from master..sysdatabases D where sid not in(select sid from
master..syslogins where name='sa')
或者
select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01
4:查詢某一個(gè)表的字段和數(shù)據(jù)類型
select column_name,data_type from information_schema.columns
where table_name = '表名'
[n].[標(biāo)題]:
Select * From TableName Order By CustomerName
[n].[標(biāo)題]:
8.如何修改數(shù)據(jù)庫的名稱:
sp_renamedb 'old_name', 'new_name'
9.只復(fù)制一個(gè)表結(jié)構(gòu),不復(fù)制數(shù)據(jù)
select top 0 * into [t1] from [t2]
10.連接遠(yuǎn)程數(shù)據(jù)庫
select * from OPENDATASOURCE('SQLOLEDB','Data Source=遠(yuǎn)程ip;User
ID=sa;Password=密碼').庫名.dbo.表名
11.獲取當(dāng)前oracle數(shù)據(jù)庫中的所有表
select table_name from user_tables
12 .獲取當(dāng)前oracle表中所有字段的類型
SELECT
????? COLUMN_NAME,DATA_TYPE,DATA_LENGTH,NULLABLE
FROM
???????? USER_TAB_COLS where TABLE_NAME='teacher';

SQL獲取所有數(shù)據(jù)庫名、表名、儲(chǔ)存過程以及參數(shù)列表


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲国产成人资源在线软件 | 一级特黄a视频 | 九九热在线精品 | 曰本还a大片免费无播放器 曰本黄色录像 | 欧美成人午夜免费完成 | 国产一级毛片欧美视频 | 香蕉视频在线观看免费 | 久久久这里有精品999 | 亚洲最大在线 | 国产亚洲一欧美一区二区三区 | 99热久久国产精品这里 | 中文日韩字幕 | 亚洲精品九色在线网站 | 亚洲成人免费视频 | 天海冀一二三区 | 成人免费视频一区二区 | 黄片一级毛片 | 久久国产视频精品 | 国内精品久久久久久久久蜜桃 | 在线观看深夜观看网站免费 | 天天操天天爽天天射 | 草草影院国产第一页 | 国产手机精品一区二区 | 色片在线| 97国内精品久久久久久久影视 | 午夜视频福利在线观看 | 久久99国产亚洲精品观看 | 日本一区二区三区四区在线观看 | 96精品专区国产在线观看高清 | 老潮湿影院免费体验区 | 国产精品玖玖玖在线观看 | 激情在线网站 | 亚洲国产成人综合精品2020 | 伊人伊人伊人伊人 | 日本高清视频一区二区三区 | 国产精品色图 | 欧美日本免费观看αv片 | 国产精品大片天天看片 | 一级特黄aa毛片免费观看 | www.涩| 免费一区二区三区久久 |