MySQL PK 조회 - MySQL PK johoe

DB가 복잡해지다보면, 모든 스키마를 외우고 있을 수는 없다. 

그래서 테이블들의 스키마를 조회하게되는 경우가 많아지는데, 그 중에서도 실무에서 자주 사용하는 테이블에 적용되어있는 Key 특성을 조회하는 쿼리들을 정리해보았다.

(1) SHOW INDEXES IN "table이름"

 : 해당 DB 내에서 사용해야하며, 테이블에 정의되어있는 Key 가 걸려있는 Column과, Cardinality 등까지 자세한 정보를 제공해준다.

(2) SELECT * FROM Information_schema.table_constraints

 : DB를 관리할 수 있다면 Information Schema 를 조회하는 방법은 알아두는게 좋다. 굳이 포스팅에서 다루는 Key 조회 이외에도 Information Schema 는 많은 정보를 담고 있다.

다음과 같이 테이블에 대한 정보를 얻어낼 수 있다.

SELECT * FROM Information_schema.table_constraints WHERE table_schema="db이름”;

SELECT * FROM Information_schema.table_constraints WHERE table_schema="db이름” AND table_name="table이름";

(3) SHOW CREATE TABLE "table이름";

 : 이 쿼리가 사실 만능이라고 여겨진다. (강조) 세부적인 정보를 도출하기는 힘들지만, 가장 쉽게 자주 필요한 정보들을 조회할 수 있다.

이 쿼리는 테이블 생성 쿼리를 그대로 보여준다.

개인적으로 가장 많이 사용하는 쿼리는 3번의 SHOW CREATE TABLE 구문이지만, 가장 강력한 건 Information_schema 정보를 다룰줄 아는것이다.

다양한 MySQL 의 시스템 테이블들과의 JOIN 연산을 통해 스키마 정보를 디테일하게 추출해낼 수 있으며, 이는 좀 더 자세하게 다룰 예정이다.

MySQL MariaDB/DB,Table 정보

2021. 8. 13.

#--- primary, foreign key 조회  (테이블별)

SELECT *

  FROM information_schema.table_constraints 

WHERE  table_name = '테이블명';

#--- primary, foreign key 조회  (테이터베이스 별)

SELECT *

  FROM information_schema.table_constraints 

WHERE  constraint_schema = '테이블명';

CONSTRAINT_CATALOG nvarchar
(128 )
제약 조건자.
CONSTRAINT_SCHEMA nvarchar
( 128 )
제약 조건을 포함하는 스키마의 이름
CONSTRAINT_NAME sysname 제약 조건 이름.
TABLE_SCHEMA nvarchar
( 128 )
테이블을 포함하는 스키마의 이름.
TABLE_NAME sysname 테이블 이름
CONSTRAINT_TYPE varchar
( 11 )
제약 유형:

CHECK
UNIQUE
PRIMARY KEY
FOREIGN KEY

//docs.microsoft.com/en-us/sql/relational-databases/system-information-schema-views/table-constraints-transact-sql?view=sql-server-ver15 

//mariadb.com/kb/en/information-schema-table_constraints-table/

Mysql에서 PK,FK 등 제약조건, Index 확인, PK 특징

아우2018. 9. 3. 14:06

1. mysql 테이블 컬럼, 자료형, null, 기본값, 제약조건 등 확인
desc 테이블이름




2. 제약조건 전체 확인(데이터베이스 기준)
select * from information_schema.table_constraints where constraint_schema = '데이터베이스이름';




3. 제약조건 전체 확인(테이블 기준)
select * from information_schema.table_constraints where table_name = '테이블이름';





4. index 확인
show index from 테이블이름



PK 특징

Primary Key
행을 고유하게 구분하는 최소 정보.
모든 테이블에는 PK가 있어야 하고 오직 하나만 존재 가능. 반드시 not null 속성이어야 함. 
어떤 테이블에 PK 역할을 할 수 있는 컬럼이 있다면 그걸 candidate key(후보키)라고 부른다. 테이블에 후보키는 여러 개 존재할 수 있다. 회원번호나 주민번호나 id 같은 게 후보키가 될 수 있다. 이 후보키 중 하나만 PK로 선택할 수 있다.
관례상 PK는 테이블의 첫번째 컬럼에 위치하도록한다. 
PK가 생성되면 물리적으로 희귀성을 보장하기 위해 unique index가 만들어진다.  그러므로 PK를 이용한 검색은 그렇지 않은 검색보다 훨씬 빠르다.

Toplist

최신 우편물

태그