PK (Primary Key)
주 키(primary key)는 각 행(row)을 고유하게 식별하는 데 사용됩니다.
테이블당 하나의 주 키만 가질 수 있으며, 주로 숫자(예: AUTO_INCREMENT) 또는 고유한 문자열을 포함하는 열(column)로 정의됩니다.
NN (Not Null)
NOT NULL 제약은 특정 열이 NULL 값을 허용하지 않도록 지정합니다.
즉, 해당 열은 반드시 값을 가져야 합니다.
UQ (Unique)
UNIQUE 제약은 해당 열에 중복된 값을 허용하지 않도록 지정합니다.
즉, 해당 열의 모든 값은 고유해야 합니다.
B (Binary)
BINARY 제약은 해당 열의 데이터를 이진(binary) 형태로 저장하도록 지정합니다.
이진 데이터를 저장해야 할 때 사용됩니다.
UN (Unsigned)
UNSIGNED 제약은 해당 열이 음수 값을 허용하지 않도록 지정합니다.
즉, 해당 열은 양수 값과 0만 허용됩니다. 보통 숫자 데이터 타입에 사용됩니다.
ZF (Zero Fill)
ZERO FILL 제약은 해당 열의 데이터를 지정된 길이만큼 0으로 채워 저장하도록 지정합니다.
숫자 데이터 타입에 사용되며, 지정된 길이보다 작은 값이 저장될 경우 왼쪽에 0을 채워 저장합니다.
AI (Auto Increment)
AUTO_INCREMENT 제약은 해당 열에 자동으로 증가하는 값을 할당하도록 지정합니다.
주로 주 키(primary key)로 설정된 열에 사용되며, 각 새로운 레코드가 추가될 때마다 자동으로 증가하는 값을 가지게 됩니다.
G (Generated Column)
GENERATED 제약은 해당 열이 자동으로 계산된 값을 가지도록 지정합니다.
MySQL 5.7 이상에서 사용 가능한 기능으로, 열의 값은 정의된 식(expression) 또는 함수를 사용하여 자동으로 생성됩니다.
아주 유익한 내용이네요!