我需要获取表的结构(字段名称及其数据类型),即服务器上的数据库
答案 0 :(得分:1)
如果您的问题涉及的是Sql Server而不是:
SELECT
C.TABLE_NAME
,C.COLUMN_NAME
,C.DATA_TYPE
,C.CHARACTER_MAXIMUM_LENGTH
FROM
INFORMATION_SCHEMA.TABLES T
INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME=C.TABLE_NAME
WHERE
T.TABLE_TYPE='BASE TABLE'
ORDER BY
C.TABLE_NAME
要访问不同的服务器,您必须创建linkserver,而不是在带有链接服务器名称和数据库名称的FROM子句中的INFORMATION_SCHEMA之前。
答案 1 :(得分:0)
正如Tomek所指出的,在MSSQL中,您可以查询INFORMATION_SCHEMA数据库。
这也适用于MySQL(从MySQL 5版本开始),虽然在某些情况下它可能非常慢,所以目前你最好使用SHOW语句。