주로 INT형을 사용할 듯
주로 VACHAR, TEXT 형 사용할듯
보통 string 타입은 VACHAR로 TEXT 형은 html textarea 태그에서 받는 데이터를 저장 할때 사용
날짜형 데이터에서는 주로 DATETIME, TIMESTAMP 를 사용하는데 가장 큰 차이가 있다.
DATETIME - 1000-01-01 00:00:00부터 9999-12-31 23:59:59까지 지원
TIMESTAMP - 1970-01-01 00:00:01부터 2038-01-19 03:14:07까지 지원
2038년까지 지원되는 TIMESTAMP 보다는 DATETIME 이 안정성 면에서 더 좋아 보인다.
이미지 출저 : https://andrew0409.tistory.com/108
NOT NULL
NOT NULL 제약 조건을 설정하면, 해당 필드는 NULL 값을 저장할 수 없다.
즉, 이 제약 조건이 설정된 필드는 무조건 데이터를 가지고 있어야 한다.
NOT NULL 제약 조건은 CREATE 문으로 테이블을 생성할 때나, 나중에 ALTER 문으로 추가 가능.
UNIQUE
UNIQUE 제약 조건을 설정하면, 해당 필드는 서로 다른 값을 가져야 한다.
즉, 이 제약 조건이 설정된 필드는 중복된 값 저장 불가능.
UNIQUE 제약 조건은 CREATE 문으로 테이블을 생성할 때나, 나중에 ALTER 문으로 추가 가능.
PRIMARY KEY
PRIMARY KEY 제약 조건을 설정하면, 해당 필드는 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가짐.
따라서 이 제약 조건이 설정된 필드는 NULL 값을 가질 수 없으며, 또한 중복된 값을 가져서도 안 된다.
이러한 PRIMARY KEY 제약 조건을 기본 키 라고 한다.
UNIQUE는 한 테이블의 여러 필드에 설정할 수 있지만, PRIMARY KEY는 테이블당 오직 하나의 필드에만 설정 가능.
이러한 PRIMARY KEY 제약 조건은 테이블의 데이터를 쉽고 빠르게 찾도록 도와주는 역할을 한다.
FOREIGN KEY
FOREIGN KEY 제약 조건을 설정한 필드는 외래 키라고 부르며, 한 테이블을 다른 테이블과 연결해주는 역할.
외래 키가 설정된 테이블에 레코드를 입력하면, 기준이 되는 테이블의 내용을 참조해서 레코드가 입력된다.
즉, FOREIGN KEY 제약 조건은 하나의 테이블을 다른 테이블에 의존하게 만든다.
FOREIGN KEY 제약 조건을 설정할 때 참조되는 테이블의 필드는 반드시 UNIQUE나 PRIMARY KEY 제약 조건이 설정되어 있어야 함.
DEFAULT
DEFAULT 제약 조건은 해당 필드의 기본값을 설정할 수 있게 해준다.
만약 레코드를 입력할 때 해당 필드 값을 전달하지 않으면, 자동으로 설정된 기본값을 저장.