테이블 생성
auction_user라는 테이블을 생성하고 id가 a001, name이 홍길동 인 정보를 넣었다
$ insert into auction_user(id, name) values ( 'a001', '홍길동');
그리고 한번더 같은 정보를 넣었을때 중복이 발생.
중복을 방지하기 위해
PRIMARY Key 제약조건을 사용
PRIMARY Key 제약조건을 사용
맨 위부터 테이블정보 조회
a001, 홍길동 추가
한번더 추가하시 중복 에러 발생
a002, 홍길동 추가
auction_user 테이블 조회결과
아이디가 happy 인 정보 추가후 조회
name 이 null이다.
이름이 없는 사용자를 원치 않는다.
NOT NULL 제약조건
위부터 차례로
테이블 삭제후 다시생성
name VARCHAR(32) NOT NULL, (NOT NULL) 제약조건 추가후 생성
auction_user; 로 정보 조회 name 의 Null 부분이 NO로 된것을 확인
id 가 a003인 정보를 추가하려고 했더니 에러발생
name까지 추가후 정보를 추가
성공
DEFAULT 제약조건
위부터 차례로 제약조건 money DEC(8,2) NOT NULL DEFAULT 1000 추가후 테이블 생성
id,name 이 a001 , 홍길동인 정보 추가
테이블 조회시 기본 money가 1000.00이 들어갔다.
UNIQUE 제약조건 (기본키 외에 고유한 값을 가지는 컬럼에 UNIQUE 사용)
위부터 차례로
테이블 생성시 name 부분에 UNIQUE 제약조건 추가
a001, 홍길동 추가,
a002 ,홍길동 추가 -> 에러 name이 고유값이기때문.
예제이기때문에 name에 UNIQUE제약조건을 추가 한 것일뿐... 일반적으로 이렇게 되면 테이블 설계가 잘못 되었다.
UNIQUE 제약조건의 다른 예제 주민등록번호
AUTO_INCREMENT 자동증가
위부터 차례로
inc_test 테이블 추가시 num 컬럼에 PRIMARY KEY 와 AUTO_INCREMENT 제약조건 추가.
val 정보만 hello hi bye 세 개를 추가 num 의 정보는 따로 추가해 주지 않았다.
결과
'DataBase' 카테고리의 다른 글
database (데이터베이스) 명령어 ) select (0) | 2018.07.19 |
---|---|
database 데이터베이스 ) 데이터 타입(DATATYPE) (0) | 2018.07.18 |
database MYSQL사용자 추가 / 데이터베이스 추가 (0) | 2018.07.17 |
database 기본? 명령어 (0) | 2018.07.16 |
DataBase (데이터 베이스 ), RDBMS 란? (0) | 2018.07.15 |