【发布时间】:2016-08-16 20:40:22
【问题描述】:
此 SQL 查询打印表名、列名和列类型(Data、varchar 等)。
表名列名数据类型
SELECT T.TABLE_NAME,C.COLUMN_NAME,C.DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS C
INNER JOIN INFORMATION_SCHEMA.TABLES T ON C.TABLE_NAME = T.TABLE_NAME
AND C.TABLE_SCHEMA = T.TABLE_SCHEMA
WHERE T.TABLE_TYPE = 'BASE TABLE'
如果此列是复合主键的一部分(见下文),如何更改它以使其也打印?
Table_name Column_Name Is_Primary(y/n) Data_Type
更新:建议的副本相去甚远,因为它谈论的是单个表。接受的答案解决了我的问题。
【问题讨论】:
-
不是重复的。该答案涉及单个表。我的问题是关于在数据库中显示一组表。
-
是的,我意识到,但这只是一个系统视图的连接,这个问题解释了如何做到这一点。看到这一点应该不会太远。
标签: sql-server