개발자님이 던져주신 SQL 테이블 정보 하나하나 뜯어보기
명령어 옆 (숫자)
> 디스플레이 너비, 입력할 수 있는 자리수
id bigint auto_increment not null, primary key
> id 컬럼을 bigint데이터형으로 생성
> auto_increment : DB가 추가되는 행마다 id값이 1씩 자동증가(가장 큰 id값 + 1)하는 속성을 적용해 생성하라
> not null : 빈값 허용 X
> primary key : 데이터베이스 행을 고유하게 식별할 수 있는 값. 해당 필드는 반드시 not null, unique 제약 조건을 가짐. PK는 테이블 당 오직 하나의 필드에만 설정. 데이터 중복이 발생하지 않아 빠르게 쿼리를 수행할 수 있음. (ex.사원번호, ID 등)
비슷한 값으로는 Unique key가 있는데, null 허용 가능하고, 테이블에 여러 개 존재가 가능하다.
password varchar(128) not null,
> 비밀번호를 128byte까지 넣을 수 있는 가변길이 문자열
> 이름이나 주소 처럼 길이가 고정이 아닌 자료들을 필드로 정의할 때는 varchar을 주로 사용한다.
> 반대로 주민등록번호와 같이 길이가 일정한 형식의 필드는 고정길이 문자형(char)을 사용한다.
last_login datetime(6) null,
> 마지막 로그인 시점 날짜와 시간을 표시하기
> 빈값일 수 있다. 처음 로그인을 안하면 되니까?
> datetime : YYYY-MM-DD HH:MM:SS
gender smallint null,
> smallint : 필요한 저장 공간의 크기와 숫자의 크기
tinyint = 1 바이트
smallint = 2 바이트
mediumint = 3 바이트
int = 4 바이트
bigint = 8 바이트
is_active tinyint(1) not null,
> tinyint : 필요한 저장 공간의 크기와 숫자의 크기
constraint email
unique (email)
> 이메일 조건 중, 이메일이 unique한 값일 경우에만 user 계정 생성이 가능하다.
> constraint : 데이터의 무결성을 지키기 위해 제한된 조건. 데이터를 무조건적으로 삽입하는 것이 아니라, 어떤 조건을 만족했을 경우에만 데이터가 삽입될 수 있도록 제약
> unique : 중복값 비허용
create table account_useragreement
> 사용자 동의 테이블을 생성해라
DESC testTable;
> 작성했던 테이블 컬럼들과 옵션을 표로 한눈에 확인할 수 있음
'STUDY > MySQL' 카테고리의 다른 글
SQLD/SQL개발자 자격증 시험 정리 (0) | 2022.09.27 |
---|---|
MySQL오류] SQL Could not connect, server may not be running 해결방법 (2) | 2022.09.27 |
MYSQL] 쿼리문 분석 3 - WHERE (0) | 2022.09.22 |
MYSQL] 쿼리문 분석 2 - SELECT, FROM, AS (0) | 2022.09.22 |
MySQL] 에러 : could not acquire management access for administration (0) | 2022.09.21 |