【问题标题】:What is the Select statement to return the column names in a table什么是返回表中列名的 Select 语句
【发布时间】:2010-10-18 04:57:56
【问题描述】:

有没有选择语句返回表中的列列表?

【问题讨论】:

    标签: sql sql-server sql-server-2005


    【解决方案1】:

    INFORMATION_SCHEMA.COLUMNS 视图将为特定表名提供列名。

    SELECT Column_Name + ', '
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'Table_Name'
    

    还有其他几个视图以及上面的视图,您可能会发现它们很有用。这些 INFORMATION_SCHEMA 视图提供有关数据库架构的信息。

    Select top 10 * from Information_Schema.tables 
    Select top 10 * from Information_Schema.views 
    Select top 10 * from Information_Schema.routines 
    Select top 10 * from Information_Schema.parameters
    

    【讨论】:

      【解决方案2】:

      Paul 的回答对 mysql 来说是正确的。 ON EDIT: 显然还有 sql server。啊。对不起,保罗。

      对于 sql server,您需要 sys.syscolumns,与此答案非常相似: How do I look at column metadata in Sybase?

      【讨论】:

      • 我的答案对 SQL Server 2005 和 SQL Server 2008 也是正确的。 (没有要检查的 SQL2000)
      • INFORMATION_SCHEMA 模式是官方支持的一组系统视图,用于检查数据库、表、列和对象信息。 syscolumns、sysobjects 等都是系统对象,Microsoft 不保证它们继续存在或格式一致。
      【解决方案3】:

      sp_help 表名

      将为您提供所有列,以及许多其他信息。

      【讨论】:

        【解决方案4】:

        您也可以使用 SqlServer 2005 获取列数据

        SELECT column_name '列名', data_type '数据类型' FROM information_schema.columns WHERE table_name = '表名'

        Srinivas Dontula。 sdonthula@live.com

        【讨论】:

          猜你喜欢
          • 2014-01-18
          • 2021-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多