본문 바로가기
SQL/MySQL

MySQL 테이블 생성 및 제약조건 설정방법 정리

by wakestand 2021. 1. 7.
반응형

MySQL에서 테이블 생성 시에는

CREATE TABLE 테이블명 (

컬럼명 데이터타입 제약조건

)

이런 식으로 사용하게 되는데

 

직접 타이핑을 쳐서 테이블을 만들 수도 있지만

MySQL Workbench에서 편하게 만들 수 있으므로

이렇게 힘들게 삽질해서 만들 필요가 전혀 없다

 

먼저 왼쪽의 스키마를 더블클릭 후

Query 탭 밑에 있는 테이블 생성 아이콘을 눌러주자

 

그럼 위와 같은 창이 뜨는데

테이블 네임, 컬럼 네임, 데이터타입, 제약조건, 기본값을 설정하고

우측 하단의 Apply를 눌러주면 테이블이 된다

 

데이터 타입은 엄청 많긴 한데

실제 자주 사용하는 데이터타입은 다음과 같다

 

VARCHAR(크기) - 지정한 크기 이하로만 컬럼에 값 삽입 가능

CHAR(크기) - 지정한 크기를 다 채우지 않았을 경우 빈 값을 공백으로 채움

EX > CHAR(3)에 'A'를 삽입할 경우 'A  '가 들어가게 됨

INT - 정수 

DATETIME - 날짜 타입의 값

DOUBLE - 소수

 

여기서 제약조건에 해당하는

PK NN UQ B UN ZF AI G Default/Expression은 다음과 같다

 

PK - Primary key, 중복이나 빈값(NULL)이 들어올 수 없음

NN - Not Null(빈값) 못들어옴

UQ - Unique, 중복 값을 넣을 수 없음

B - 데이터를 이진 문자열로 저장함(010101 같은)

UN - Unsigned data type (- 범위 삭제)

INT, DOUBLE 등의 경우 UN을 사용해 주면 -값 +값 이던 범위가

- 값은 없어지고 +값만 2배로 늘어남

ZF - Zero Filled 컬럼 크기보다 작은 값을 넣었을 경우 0으로 채운 뒤 삽입시킴

AI - Insert 시마다 값 1씩 늘어남

G - 다른 열을 기반으로 한 수식으로 생성된 값

Default/Expression - 기본값, 기본값에 수식 설정

 

마지막으로 테이블 삭제는

DROP 테이블명

테이블 안의 데이터 삭제는

TRUNCATE 테이블명 

 

마지막으로 테이블 컬럼 추가 삭제나 데이터타입 변경,

제약조건 추가 변경 및 삭제방법은

쿼리가 아닌 워크벤치를 이용하면 편하게 사용이 가능한데

 

테이블 우클릭 후 > Alter Table을 해주면

우측에 뜨는 내용을 변경해주면 된다

반응형

댓글