[SQL] 어떻게 PostgreSQL을 특정 컬럼을 갖는 테이블을 찾을 수
SQL어떻게 PostgreSQL을 특정 컬럼을 갖는 테이블을 찾을 수
나는 PostgreSQL을 9.1을 사용하고 있습니다. 나는 테이블의 열 이름을 가지고있다. 가 /이 열을 가지고있다 테이블 (들)을 찾을 수 있습니까? 그렇다면, 어떻게?
해결법
-
==============================
1.당신은 시스템 카탈로그를 조회 할 수 있습니다 :
당신은 시스템 카탈로그를 조회 할 수 있습니다 :
select c.relname from pg_class as c inner join pg_attribute as a on a.attrelid = c.oid where a.attname = <column name> and c.relkind = 'r'
SQL 바이올린 데모
-
==============================
2.당신은 또한 할 수있다
당신은 또한 할 수있다
select table_name from information_schema.columns where column_name = 'your_column_name'
-
==============================
3.나는 도심 @Roman Pekar의 쿼리를 사용하고 (내 경우에는 관련) 스키마 이름을 추가 한
나는 도심 @Roman Pekar의 쿼리를 사용하고 (내 경우에는 관련) 스키마 이름을 추가 한
select n.nspname as schema ,c.relname from pg_class as c inner join pg_attribute as a on a.attrelid = c.oid inner join pg_namespace as n on c.relnamespace = n.oid where a.attname = 'id_number' and c.relkind = 'r'
SQL 바이올린 데모
-
==============================
4.간단히:
간단히:
$ psql mydatabase -c '\d *' | grep -B10 'mycolname'
확대 -B 도움이 필요한 경우, 테이블 이름을 얻기 위해 오프셋
-
==============================
5.와일드 카드 지원 찾으려는 문자열을 포함하는 테이블 스키마 및 테이블 이름을 찾습니다.
와일드 카드 지원 찾으려는 문자열을 포함하는 테이블 스키마 및 테이블 이름을 찾습니다.
select t.table_schema, t.table_name from information_schema.tables t inner join information_schema.columns c on c.table_name = t.table_name and c.table_schema = t.table_schema where c.column_name like '%STRING%' and t.table_schema not in ('information_schema', 'pg_catalog') and t.table_type = 'BASE TABLE' order by t.table_schema;
-
==============================
6.
select t.table_schema, t.table_name from information_schema.tables t inner join information_schema.columns c on c.table_name = t.table_name and c.table_schema = t.table_schema where c.column_name = 'name_colum' and t.table_schema not in ('information_schema', 'pg_catalog') and t.table_type = 'BASE TABLE' order by t.table_schema;
from https://stackoverflow.com/questions/18508422/how-to-find-a-table-having-a-specific-column-in-postgresql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 읽을 수있는 / 계층 적 형식으로 배열을 표시 (0) | 2020.05.31 |
---|---|
[SQL] SQL에서 뷰의 차이 및 테이블 (0) | 2020.05.31 |
[SQL] 어떻게 SQLite는 3으로 .SQL 파일을 가져 옵니까? (0) | 2020.05.31 |
[SQL] 나는 DBO에 DB 스키마를 변경하려면 어떻게 (0) | 2020.05.31 |
[SQL] 마이크로 소프트에 의해 명명 규칙 데이터베이스? (0) | 2020.05.30 |