mysql mssql數據庫表結構查看工具


一、表結構查詢語句

sql server數據庫

查詢數據庫名

select db_name()

查詢所有表名及描述

select tbs.name [Key],ds.value [Value] from {yourdbname}..sysobjects tbs--yourdbname可省略
left join sys.extended_properties ds on tbs.id=ds.major_id and ds.minor_id=0 where tbs.xtype='U' order by [Key]

查詢所有表字段數據類型長度字段描述默認值等信息

SELECT obj.name AS 表名,
col.colorder AS 序號,
col.name AS 列名,
ISNULL(ep.[value], '') AS 列說明,
t.name AS 數據類型,
col.length AS 長度,
ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小數,
CASE WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN '' ELSE '' END AS 標識,
CASE WHEN EXISTS (SELECT 1 
FROM dbo.sysindexes si 
INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id 
AND si.indid = sik.indid 
INNER JOIN dbo.syscolumns sc ON sc.id = sik.id 
AND sc.colid = sik.colid 
INNER JOIN dbo.sysobjects so ON so.name = si.name 
AND so.xtype = 'PK' 
WHERE sc.id = col.id 
AND sc.colid = col.colid ) THEN '' 
ELSE '' END AS 主鍵,
CASE WHEN col.isnullable = 1 THEN '' ELSE '' END AS 空值,
ISNULL(comm.text, '') AS 默認值 
FROM dbo.syscolumns col 
LEFT JOIN dbo.systypes t ON col.xtype = t.xusertype 
INNER JOIN dbo.sysobjects obj ON col.id = obj.id AND obj.xtype = 'U' AND obj.status >= 0 ------(xtype = 'U'非用戶表)
LEFT JOIN dbo.syscomments comm ON col.cdefault = comm.id 
LEFT JOIN sys.extended_properties ep ON col.id = ep.major_id AND col.colid = ep.minor_id AND ep.name = 'MS_Description' 
LEFT  JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id AND epTwo.minor_id = 0 AND epTwo.name = 'MS_Description'    
--WHERE obj.name = 'yourtablename'
mysql數據庫

查詢數據庫名

select database()

查詢所有表名及描述

SELECT TABLE_NAME `Key`,TABLE_COMMENT `Value` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='yourdbname' AND TABLE_TYPE='base table'

查詢所有表字段信息

SELECT TABLE_NAME AS '表名',
COLUMN_NAME AS '列名',
ORDINAL_POSITION AS '序號',
COLUMN_DEFAULT AS '默認值',
case IS_NULLABLE when 'YES' then '' else '' end AS '空值',
DATA_TYPE AS '數據類型',
CHARACTER_MAXIMUM_LENGTH AS '長度',
NUMERIC_PRECISION AS '數值最大位數',
NUMERIC_SCALE AS '小數',
case COLUMN_KEY when 'PRI' then '' else '' end as '主鍵',
case EXTRA when 'AUTO_INCREMENT' then '' else '' end AS '標識',
COLUMN_COMMENT AS '列說明'
FROM information_schema.`COLUMNS`
WHERE TABLE_SCHEMA = 'yourdbname'
ORDER BY TABLE_NAME,ORDINAL_POSITION

二、工具

以上sql語句可以查看表、字段名稱及描述信息,也有人需要用工具將這些信息導出到文件。個人為了學習,使用.net core寫了一個小工具。自動生成數據庫說明文檔(html文件)。有興趣https://github.com/ghconn/vdesn,使用需要安裝.net core sdk 2.2,下載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM