제약조건
제약조건이란, SQL 테이블에 문제되는/결함있는 데이터가 입력되지 않도록 컬럼별로 미리 지정해 둔 조건이다.
여기서 제약조건에 해당하는
PK NN UQ B UN ZF AI G Default/Expression은 다음과 같다.
PK - Primary key. 중복이나 빈값(NULL)이 들어올 수 없음
NN - Not Null. 빈값 못들어옴
UQ - Unique. 중복 값을 넣을 수 없음
B - Binary. 데이터를 이진 문자열로 저장함(010101 같은)
UN - Unsigned. 음수 범위 삭제
ZF - Zero Filled 컬럼 크기보다 작은 값을 넣었을 경우 0으로 채운 뒤 삽입시킴
AI - Auto Increment. 값이 자동으로 1씩 늘어남
INT, DOUBLE 등의 경우 UN을 사용해 주면 -값 +값 이던 범위가
- 값은 없어지고 +값만 2배로 늘어남
G - Generated. 다른 열을 기반으로 한 수식으로 생성된 값
Default/Expression - 기본값, 기본값에 수식 설정. null 값이 들어왔을 때 기본값으로 대체
NULL 값의 default 동작 방식
cats2 테이블을 이렇게 만들고 null 값이 어떻게 처리되는지 확인해보자.
insert into cats2 (name)
values ('나나');
insert into cats2 (age)
values (4);
Not Null 컬럼인데 디폴트 값이 비어 있기 때문에 빈 숫자는 0으로, 빈 문자열은 공백으로 대체된다.
default 값을 정해줬을 경우
insert into cats2 (name)
values ('길동이');
insert into cats2 (age)
values (5);
ID컬럼 만들기
sql에서는 판다스의 데이터프레임에서의 인덱스가 존재하지 않기 때문에
보통 그 역할을 해주는 id 컬럼을 만들어 준다.
insert into cats3 (name, age)
values ('야옹이', 3);
insert into cats3 (name, age)
values ('냥이', 4);
insert into cats3 (name, age)
values ('야옹이', 7);
AI를 선택했기 때문에 insert 할 때마다 id 컬럼의 값이 자동으로 1씩 늘어난다.
'MySQL' 카테고리의 다른 글
MySQL - 테이블의 데이터 수정(Update), 삭제(Delete)하기 (0) | 2022.12.06 |
---|---|
MySQL - 테이블의 데이터 조회하기 select (0) | 2022.12.06 |
MySQL Workbench safe mode 해제하기 (0) | 2022.12.06 |
MySQL - 테이블에 데이터 추가하기 insert (0) | 2022.12.06 |
MySQL 스키마, 테이블 생성 (0) | 2022.12.05 |