널리 사용되는 다양한 데이터베이스 시스템의 경우 테이블의 모든 열을 어떻게 나열합니까?
널리 사용되는 다양한 데이터베이스 시스템의 경우 테이블의 모든 열을 어떻게 나열합니까?
답변:
MySQL의 경우 다음을 사용하십시오.
DESCRIBE name_of_table;
SQL * Plus 또는 Oracle의 SQL Developer를 사용하는 한 Oracle에서도 작동합니다.
DESCRIBE
name_of_table 이어야합니다 .``;
DESCRIBE
은 Oracle PLSQL 명령어가 아니라 SQL * Plus command 이므로 대부분의 SQL IDE에서 작동하지 않습니다.
Oracle (PL / SQL)의 경우
SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'
MySQL의 경우
SHOW COLUMNS FROM table_name
DESCRIBE name_of_table
.
user_tab_cols
조회에서?
MS SQL Server의 경우 :
select * from information_schema.columns where table_name = 'tableName'
select COLUMN_NAME from information_schema.columns where table_name = 'tableName' and table_schema = 'databaseName'
늦었지만 Oracle에이 명령을 사용합니다.
select column_name,data_type,data_length from all_tab_columns where TABLE_NAME = 'xxxx' AND OWNER ='xxxxxxxxxx'
SQL 서버
SELECT
c.name
FROM
sys.objects o
INNER JOIN
sys.columns c
ON
c.object_id = o.object_id
AND o.name = 'Table_Name'
또는
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Table_Name'
두 번째 방법은 ANSI 표준이므로 모든 ANSI 호환 데이터베이스 에서 작동 해야 합니다.
[
]
쿼리를 사용해서는 안 그래서 주위 만 일반 테이블 이름. 그것이 OP의 의도가 아니라면, 적어도 이것을 알고 있어야합니다.
<Table Name>
는 모호성을 피했을 것입니다. 어쨌든, 나는 당신이 내가 의견을 썼을 때 의도했던 것을 깨달았을 것입니다.
Microsoft SQL Server Management Studio 2008 R2 :
쿼리 편집기에서 테이블 이름 (예 : dbo.MyTable)의 텍스트를 강조 표시하고 ALT+ F1를 누르면 열 이름, 유형, 길이 등의 목록이 표시됩니다.
ALT+ F1강조 표시된 동안 이 사이트에 따라dbo.MyTable
달리는 것과 같습니다.EXEC sp_help 'dbo.MyTable'
INFORMATION_SCHEMA.COLUMNS 쿼리에 대한 변형을 얻을 수 없으므로 대신 이것을 사용하십시오.
SQL 서버
데이터베이스의 모든 사용자 정의 테이블을 나열하려면 다음을 수행하십시오.
use [databasename]
select name from sysobjects where type = 'u'
테이블의 모든 열을 나열하려면
use [databasename]
select name from syscolumns where id=object_id('tablename')