MySQL

MySQL_UNIQUE/CHECK/DEFAULT

ssmm95 2024. 9. 12. 15:53

■ UNIQUE 제약 조건 :  ' 중복되지 않는 유일한 값' 을 입력해야 하는 조건

PRIMARY KEY와 거의 비슷하며 차이점은 NULL 값을 허용한다

(* PRIMARY KEY는 꼭 NOT NULL)

NULL은 여러개가 입력되어도 상관없다

회원 테이블의 예를 든다면 주로 Email주소를 UNIQUE로 설정하는 경우가 많다


■ CHECK 제약 조건 : 입력되는 데이터를 점검하는 기능.

KEY 열에 마이너스 값이 들어올 수 없게 한다던지, 출생년도가 1900년 이후이고 현재 시점 이전이어야 한다던지 등의 조건을 지정한다

예)

CREATE TABLE usertbl

     (userID CHAR(8) PRIMARY KEY,

      name VARCHAR(10) ,

      birthYear INT CHECK (birthYear > = 1900  AND birthYear <= 2024),

      mobile CHAR(3) NULL,

      CONSTRAINT CK_name CHECK (name IS NOT NULL));  -- 제약조건

 

예) 

AlTER TABLE usertbl

   ADD CONTRAINT CK_mobile1

   CHECK (mobile1 IN ('010','011','016','017','018','019'));


■ DEFAULT 정의 : 값을 입력하지 않았을 때 자동으로 입력되는 기본 값을 정의하는 방법

예) 출생년도를 입력하지 않으면 -1을 입력하고, 주소를 특별히 입력하지 않았다면 '서울' 이 입력되며.

키를 입력하지 않으면 170이라고 입력 되도록 하고 싶다

 

birthYear INT NOT NULL DEFAULT -1,

addr CHAR(2) NOT NULL DEFAULT  '서울', 

height SMALLINT NULL DEFAULT 170

'MySQL' 카테고리의 다른 글

MySQL_FOREIGN KEY  (0) 2024.09.12
My_SQL_ UNION/ UNION ALL/ NOT IN/ IN  (1) 2024.09.12
MySQL_CROSS JOIN  (0) 2024.09.12
MySQL_OUTER JOIN  (0) 2024.09.12
MySQL_INNER JOIN  (0) 2024.09.11