programing

테이블의 필드 이름을 반환하는 SQL 명령은 무엇입니까?

minimums 2023. 10. 20. 13:32
반응형

테이블의 필드 이름을 반환하는 SQL 명령은 무엇입니까?

내 테이블이라고 하는 테이블이 있다고 치자.이 테이블의 모든 필드 이름을 반환하는 SQL 명령은 무엇입니까?데이터베이스가 특정한 경우 지금 당장 SQL Server가 필요하지만 다른 데이터베이스 시스템에 대한 솔루션도 확인하고 싶습니다.

MySQL 3 및 4(및 5):

desc tablename

에 대한 별칭입니다.

show fields from tablename

SQL Server(2000년부터) 및 MySQL 5:

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME = 'tablename'

답변 완료: 아래 사람들이 말했듯이 SQL Server에서는 저장 프로시저를 사용할 수도 있습니다.sp_help

exec sp_help 'tablename'

SQL-92 표준은 MS SQL Server와 같은 rdbms를 지원하는 INFORMATION_SCHEMA를 정의합니다.다음은 MS SQL Server 2000/2005/2008 및 MySql 5 이상에서 작동합니다.

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'myTable'

MS SQL 서버별:

exec sp_help 'myTable'

이 솔루션은 사용자가 원하는 정보인 여러 결과 집합을 반환하지만 전자는 사용자가 원하는 대로 정확하게 제공합니다.

또한 완성도를 위해 시스템 테이블을 직접 쿼리할 수도 있습니다.스키마가 SQL Server 버전 간에 변경될 수 있으며 INFORMATION_SCHEMA는 이러한 테이블 위의 추상화 계층이므로 권장되지 않습니다.하지만 SQL Server 2000의 경우는 어쨌든 여기에 있습니다.

select [name] from dbo.syscolumns where id = object_id(N'[dbo].[myTable]')

제공된 시스템 보기를 사용하여 다음 작업을 수행할 수 있습니다.

예를 들면

select * from INFORMATION_SCHEMA.COLUMNS
where table_name = '[table name]'

또는 시스템 procsp_help를 사용할 수 있습니다.

예를 들면

sp_help '[table name]'

PostgreSQL은 다음을 이해합니다.

select column_name from information_schema.columns where table_name = 'myTable'

구문. psql 셸에서 작업하는 경우에는

\d myTable

설명(columns 및 해당 데이터 유형 및 제약 조건)

Oracle에서 답변을 찾으시는 분들께는 다음과 같습니다.

SELECT column_name FROM user_tab_columns WHERE table_name = 'TABLENAME'

MySQL과 Postgres가 이미 언급되었기 때문에, 단지 완성을 위해:SQLite의 경우 "을(를) 사용합니다.pragma table_info()"

sqlite> pragma table_info('table_name');
cid         name        type        notnull     dflt_value  pk        
----------  ----------  ----------  ----------  ----------  ----------
0           id          integer     99                      1         
1           name                    0                       0         

이는 MySQL 특정 항목이기도 합니다.

show fields from [tablename];

테이블 이름만 보여주는 것이 아니라 필드에 대한 모든 정보도 끌어옵니다.

Sybase SQL Anywhere에서는 열과 테이블 정보가 별도로 저장되므로 조인이 필요합니다.

select c.column_name from systabcol c 
       key join systab t on t.table_id=c.table_id 
       where t.table_name='tablename'

MySQL은 동일합니다.

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tablename'

열 이름만 원한다면,

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tablename'

MS SQL Server에서 열 유형과 같은 테이블에 대한 자세한 내용을 보려면 다음을 사용하십시오.

sp_help 'tablename'

IBM DB2의 경우(월요일에 이 내용을 다시 확인합니다.)

SELECT TABNAME,COLNAME from SYSCAT.COLUMNS where TABNAME='MYTABLE'

MySQL

describe tablename

SCHEMA_NAME에서 COLUMN_NAME1, COLUMN_NAME2를 선택합니다.TABLE_NAME(테이블_이름LE_NAME.COLUMN_NAME = 'COLUMN_NAME1';

언급URL : https://stackoverflow.com/questions/100504/what-is-the-sql-command-to-return-the-field-names-of-a-table

반응형