Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取serverA中datbaseA表结构的SQL查询_Sql - Fatal编程技术网

获取serverA中datbaseA表结构的SQL查询

获取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

我需要获取一个表的结构(字段名及其数据类型),如果您的问题涉及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 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)