获取serverA中datbaseA表结构的SQL查询
我需要获取一个表的结构(字段名及其数据类型),如果您的问题涉及Sql Server,则该表位于serverA的databaseA中,而不是:获取serverA中datbaseA表结构的SQL查询,sql,Sql,我需要获取一个表的结构(字段名及其数据类型),如果您的问题涉及Sql Server,则该表位于serverA的databaseA中,而不是: 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
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子句中的信息架构前面加上链接服务器名称和数据库名称。如果您的问题涉及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子句中的信息模式前面加上链接服务器名称和数据库名称。正如Tomek所指出的,在MSSQL中,您可以查询信息模式数据库
这也适用于MySQL(从版本MySQL 5开始),尽管在某些情况下它可能非常慢,所以现在最好使用SHOW语句。正如Tomek指出的,在MSSQL中,您可以查询信息模式数据库
这也适用于MySQL(从版本MySQL 5开始),尽管在某些情况下它可能非常慢,所以现在最好使用SHOW语句。哪个数据库?MySQL、SQL Server、Oracle…?这完全是特定于供应商的-如果您想要任何有用的答案,您需要告诉我们您使用的是什么数据库。哪个数据库?MySQL、SQL Server、Oracle…?这完全是特定于供应商的-如果您想要任何有用的答案,您需要告诉我们您使用的是什么数据库。回答得好!(对于MS-SQL Server)回答得好!(适用于MS-SQL Server)