[들어가며]
MySQL 워크벤치에서 데이터를 만들 때 열(Column)에서 PK, NN, UQ, BIN, UN, ZF, AI, Default/Expression를 볼 수 있는데, 이는 제약 조건을 의미한다. 각각 어떤 의미인지 설명하고자 한다.
[MySQL 제약조건]
PK | Primary key | - 기본 키 (중복이나 빈값(NULL)이 들어올 수 없음) |
NN | Not Null | - Null(빈값)이 들어올 수 없음 |
B | Binary | - 데이터를 이진 문자열((010101)로 저장함 |
UN | Unsigned data type | - 부호 없음 (음수가 아닌 숫자만 해당) - INT, DOUBLE 등의 경우 UN을 사용하면 -값~+값의 범위인 경우 -값은 없어지고 +값만 2배로 늘어남 *예시 : 범위가 -50 ~ 50인 경우 범위는 동일하지만 0에서 시작해 0 ~ 100으로 됨 |
UQ | Unique | 중복 값을 넣을 수 없음 |
ZF | Zero Filled | - 열 크기보다 작은 값을 넣은 경우 0으로 채운 뒤 삽입시킴 - INT(5)인 경우 모든 필드는 5번째 자리까지 0으로 채워짐 * 예시 : 11 = 00011, 864 = 00864 등으로 0으로 채워짐 |
AI | Auto Increment | - Insert 시마다 값이 1씩 늘어남 |
G | Generated Column | - 다른 열을 기반으로 한 수식으로 생성된 값 |
Default/ Expression |
- | - 기본값, 기본값에 수식 설정 |
[참조]
1. https://stackoverflow.com/questions/3663952/what-do-column-flags-mean-in-mysql-workbench
2. https://wakestand.tistory.com/451
'언어 > MySQL' 카테고리의 다른 글
[MySQL] 소수점이 있는 금액의 타입은 float? float, double 절대 금지! decimal 또는 string로 지정하자! (0) | 2024.04.02 |
---|---|
[MySQL] Cardinality는 항상 일정하지 않음? 인덱스를 다시 만드는 과정에서 새롭게 연산을 하며 매번 달라짐 (0) | 2024.03.14 |
[MySQL] Server 프로그램 삭제하기 (0) | 2022.12.04 |
[MySQL / Workbench] 쿼리(query) 창 실행 방법 (0) | 2022.11.30 |