테이블 생성







auction_user라는 테이블을 생성하고  id가 a001,  name이 홍길동 인 정보를 넣었다

$  insert into auction_user(id, name) values ( 'a001', '홍길동');

그리고 한번더 같은 정보를 넣었을때 중복이 발생. 

중복을 방지하기 위해

PRIMARY Key 제약조건을 사용

PRIMARY Key 제약조건을 사용

auction_user 가 존재한다면 테이블을 삭제한다. 
$ DROP TABLE IF EXISTS auction_user; 

auction_user테이블 생성   PRIMARY 제약 조건을 id에 대하여  사용 
$CREATE TABLE auction_user(
    id CHAR(16),
    name VARCHAR(32),
    birth DATE,
    last DATETIME,
    money DEC(8,2),
    PRIMARY KEY(id)
);


맨 위부터 테이블정보 조회

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 제약조건의   다른 예제  주민등록번호



UNIQUE(ssn1, ssn2) 조건 추가     ssn1컬럽과 ssn2컬럼을 하나의 유니크 제약조건으로 ..
두개의 정보 추가

아이디는 다르고 이름이 같은 홍길동     주민번호까지 같다.
에러발생   

AUTO_INCREMENT 자동증가



위부터 차례로 

inc_test 테이블 추가시 num 컬럼에 PRIMARY KEY 와 AUTO_INCREMENT 제약조건 추가.


val 정보만  hello hi bye 세 개를 추가    num 의 정보는 따로 추가해 주지 않았다.

결과 




+ Recent posts