SQL查询获取服务器上的databaseS表的结构

时间:2010-10-17 10:36:09

标签: sql

我需要获取表的结构(字段名称及其数据类型),即服务器上的数据库

2 个答案:

答案 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语句。