복붙노트

[SQL] 어떻게 SQL Server의 테이블에서 열 이름을 얻을 수 있나요?

SQL

어떻게 SQL Server의 테이블에서 열 이름을 얻을 수 있나요?

나는 테이블의 모든 컬럼의 이름을 조회하고 싶습니다. 나는이 작업을 수행하는 방법을 발견 :

그러나 나는 알 필요가 : 어떻게이 (내 경우 2008) 마이크로 소프트 SQL 서버에서 수행 할 수 있는가?

해결법

  1. ==============================

    1.당신은 정보 스키마 뷰를 쿼리하여 훨씬 더 많은 정보를 얻을 수 있습니다.

    당신은 정보 스키마 뷰를 쿼리하여 훨씬 더 많은 정보를 얻을 수 있습니다.

    이 샘플 쿼리

    SELECT *
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = N'Customers'
    

    이러한 DB 객체를 온통 만들 수 있습니다 :

  2. ==============================

    2.당신은 주어진 테이블의 모든 컬럼에 정보 관련을 반환 저장 프로 시저 sp_columns를 사용할 수 있습니다. 더 많은 정보는 여기 http://msdn.microsoft.com/en-us/library/ms176077.aspx 찾을 수 있습니다

    당신은 주어진 테이블의 모든 컬럼에 정보 관련을 반환 저장 프로 시저 sp_columns를 사용할 수 있습니다. 더 많은 정보는 여기 http://msdn.microsoft.com/en-us/library/ms176077.aspx 찾을 수 있습니다

    또한 SQL 쿼리에 의해 그것을 할 수 있습니다. 이 같은 일부 것은 도움이 될 것입니다 :

    SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName') 
    

    아니면 변화는 다음과 같습니다

    SELECT   o.Name, c.Name
    FROM     sys.columns c 
             JOIN sys.objects o ON o.object_id = c.object_id 
    WHERE    o.type = 'U' 
    ORDER BY o.Name, c.Name
    

    이것은 모든 테이블, 테이블 이름으로 정렬하고 열 이름부터 모든 열을 가져옵니다.

  3. ==============================

    3.

    select *
    from INFORMATION_SCHEMA.COLUMNS
    where TABLE_NAME='tableName'
    

    이것은 더 나은 직접 DATA_TYPE을 보여주기 때문에 sys.columns에서 점점보다.

  4. ==============================

    4.당신은 SQL Server 2008의 sp_help는 사용할 수 있습니다.

    당신은 SQL Server 2008의 sp_help는 사용할 수 있습니다.

    sp_help <table_name>;
    

    위의 명령에 대한 키보드 단축키 : 선택 테이블 이름 (즉 그것을 강조)를 눌러 ALT + F1.

  5. ==============================

    5.이 쿼리를 사용하여 당신은 답변을 얻을 :

    이 쿼리를 사용하여 당신은 답변을 얻을 :

    select Column_name 
    from Information_schema.columns 
    where Table_name like 'table name'
    
  6. ==============================

    6.당신은 열 이름과 사용하지 않고 모든 세부 사항을 얻기 위해이 쿼리를 작성할 수 있습니다 MySQL의에서 INFORMATION_SCHEMA :

    당신은 열 이름과 사용하지 않고 모든 세부 사항을 얻기 위해이 쿼리를 작성할 수 있습니다 MySQL의에서 INFORMATION_SCHEMA :

    SHOW COLUMNS FROM database_Name.table_name;
    
  7. ==============================

    7.

    --This is another variation used to document a large database for conversion (Edited to --remove static columns)
    
    SELECT o.Name                   as Table_Name
         , c.Name                   as Field_Name
         , t.Name                   as Data_Type
         , t.length                 as Length_Size
         , t.prec                   as Precision_
    FROM syscolumns c 
         INNER JOIN sysobjects o ON o.id = c.id
         LEFT JOIN  systypes t on t.xtype = c.xtype  
    WHERE o.type = 'U' 
    ORDER BY o.Name, c.Name
    
    --In the left join, c.type is replaced by c.xtype to get varchar types
    
  8. ==============================

    8.

    SELECT name
    FROM sys.columns
    WHERE object_id = OBJECT_ID('TABLE_NAME')
    

    TABLE_NAME은 테이블

  9. ==============================

    9.

    SELECT column_name, data_type, character_maximum_length, table_name,ordinal_position, is_nullable 
    FROM information_schema.COLUMNS WHERE table_name LIKE 'YOUR_TABLE_NAME'
    ORDER BY ordinal_position
    
  10. ==============================

    10.이 SO 질문은 다음과 같은 방법이 없습니다 :

    이 SO 질문은 다음과 같은 방법이 없습니다 :

    -- List down all columns of table 'Logging'
    select * from sys.all_columns where object_id = OBJECT_ID('Logging')
    
  11. ==============================

    11.그냥이 명령을 실행

    그냥이 명령을 실행

    EXEC sp_columns 'Your Table Name'
    
  12. ==============================

    12.당신은 이걸는 해당 데이터 유형의 모든 열 이름을 제공 시도 할 수 있습니다.

    당신은 이걸는 해당 데이터 유형의 모든 열 이름을 제공 시도 할 수 있습니다.

    desc <TABLE NAME> ;
    
  13. ==============================

    13.그것은 주어진 테이블이 자료 표 여부를 확인합니다.

    그것은 주어진 테이블이 자료 표 여부를 확인합니다.

    SELECT 
        T.TABLE_NAME AS 'TABLE NAME',
        C.COLUMN_NAME AS 'COLUMN NAME'
    FROM INFORMATION_SCHEMA.TABLES T
    INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME=C.TABLE_NAME
        WHERE   T.TABLE_TYPE='BASE TABLE'
                AND T.TABLE_NAME LIKE 'Your Table Name'
    
  14. ==============================

    14.이 쿼리를 사용할 수 있습니다

    이 쿼리를 사용할 수 있습니다

    SELECT *
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME like N'%[ColumnName]%' and TABLE_NAME = N'[TableName]'
    
  15. ==============================

    15.

    SELECT c.Name 
    FROM sys.columns c
    JOIN sys.objects o ON o.object_id = c.object_id
    WHERE o.object_id = OBJECT_ID('TABLE_NAME')
    ORDER BY c.Name
    
  16. ==============================

    16.틀림없이 더 직관적이고 또 다른 옵션 :

    틀림없이 더 직관적이고 또 다른 옵션 :

    SELECT [name] 
    FROM sys.columns 
    WHERE object_id = OBJECT_ID('[yourSchemaType].[yourTableName]') 
    

    이렇게하면 하나의 열에서 모든 열 이름을 제공합니다. 다른 메타 데이터에 대해 관심이 있다면, 당신은 *을 선택하려면 편집을 SELECT 문을 변경할 수 있습니다.

  17. ==============================

    17.

    SELECT COLUMN_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'name_of_your_table'
    
  18. ==============================

    18.

    SELECT TOP (0) [toID]
          ,[sourceID]
          ,[name]
          ,[address]
      FROM [ReportDatabase].[Ticket].[To]
    

    간단하고 나던은 SYS 테이블을 필요로

  19. ==============================

    19.답변을 요약

    답변을 요약

    나는이 작업을 수행하는 많은 다른 답변 방법을 볼 수 있지만 거기에이의 마찰이며 그 목적이다.

    예, 목적. 만 열 이름을 알고 싶다면 당신은 사용할 수 있습니다

    SELECT * FROM my_table WHERE 1=0
    or
    SELECT TOP 0 * FROM my_table
    

    당신은 단순히 어딘가에 그 열을 사용하려는 경우, 또는 그러나 위의 빠른 쿼리가 어떤 소용이 될 수 없습니다 다음으로 조작 말한다. 당신은 사용할 필요가

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Customers'
    

    우리는 몇 가지 유사한 열을 필요로하는 일부 특정 열을 알 수있는 또 하나의 방법

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME like N'%[ColumnName]%' and TABLE_NAME = N'[TableName]'
    
  20. from https://stackoverflow.com/questions/1054984/how-can-i-get-column-names-from-a-table-in-sql-server by cc-by-sa and MIT license