[SQL] 테이블의 생성

[원본 링크]

테스트 환경은 MySQL이다.

테이블의 생성은 create table로 수행할 수 있다.
생성 쿼리는 기본적으로 아래의 구조를 가진다.

create tale 테이블명
(
속성명1 타입1,
속성명2 타입2,
...
);

정수타입의 기본 키 _index와 텍스트 타입의 속성 text를 갖는 테이블 Texts를 만들어보자.
int는 정수타입이고 varchar는 가변길이문자열 타입이다.

그럼 이렇게 잘 된다.

방금 저 위에서 primary key는 해당 속성이 기본키임을 나타내는 부가속성이다.
저기선 속성 바로 뒤에 붙였지만 뒤로 미뤄서 쓸 수도 있다.
그리고 기본키는 테이블당 무조건 하나는 있어야한다.

일단 만든것부터 지우고 다시 만들자. 테이블을 지우는 데는 drop table을 쓰면 된다.

그리고.

이런식으로.

속성에 붙이는 부가속성에는 이런 것들이 있다.
1.primary key: 기본키로 사용. null이 불가능하며, 중복불가.
2.unique: 중복불가
3.not null: null 입력불가

기본키가 아니더라도 가능하다면 not null과 unique를 다 붙여주는게 안전하고 좋다.



제약조건 부여: constraint & check

constatrain 절을 사용하면 제약조건을 만들 수 있다.

방금의 테이블에서 _index 값을 100 이하로만 넣을 수 있도록 제약을 걸어보자.

일단 지우고

이런식으로 만들 수 있다.

constraint 뒤에 들어가는건 제약조건의 이름이고, check 뒤에 들어가는 것이 제약조건의 내용이다.
저렇게 해두면 저 check를 위반하는 값은 삽입할 수 없게 된다.


이렇게 말이다.

그리고 constraint 뒤에 붙이는 제약조건명은, 혹시라도 나중에 제약조건을 수정하고 관리할 필요가 있을때 사용하는 것이다. 필요없다면 생략도 가능하다.

이렇게.


참조에 대한건 다음 포스팅에서 다루겠다.