【问题标题】:How can i learn Table Name in database an column name?如何在数据库中学习表名和列名?
【发布时间】:2010-06-17 06:43:25
【问题描述】:

如何学习数据库中的表名以及如何学习任何表的列名?

SELECT Col.COLUMN_NAME, Col.DATA_TYPE

FROM INFORMATION_SCHEMA.COLUMNS AS Col

       LEFT OUTER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS Usg ON Col.TABLE_NAME = Usg.TABLE_NAME AND Col.COLUMN_NAME = Usg.COLUMN_NAME

       LEFT OUTER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS Con ON Usg.CONSTRAINT_NAME = Con.CONSTRAINT_NAME

WHERE Col.TABLE_NAME = 'Addresses_Temp' AND Con.Constraint_TYPE = 'PRIMARY KEY'

但它返回给我的是空数据:(

【问题讨论】:

    标签: c# .net sql visual-studio


    【解决方案1】:

    我不完全确定问题是什么,但不管怎样……

    显示表格信息

    Select * From Information_Schema.Tables
    

    显示列信息

    Select * From Information_Schema.Columns
    

    显示表格约束信息

    Select * From Information_Schema.Table_Constraints
    

    这里有一些与信息架构视图相关的更多资源。

    http://msdn.microsoft.com/en-us/library/ms186778.aspx

    如果您的查询没有返回任何行,那么该表可能不再存在。毕竟它被命名为_temp

    【讨论】:

      【解决方案2】:

      你的查询结构必须在下面

      SELECT * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='SchemaName' AND TABLE_NAME='TableName'
      

      例如:

      SELECT * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='dbo' AND TABLE_NAME='Category'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多