관리 메뉴

CASSIE'S BLOG

78-1강 MySQL 제약조건 익히기 본문

PROGRAMMING/슈퍼코딩 강의 정리

78-1강 MySQL 제약조건 익히기

ITSCASSIE1107 2024. 10. 2. 21:19

견고한 테이블을 만들려면 방어력이 있어야하는데 그게 제약조건임

데이터 무결성을 위해선 중요함

제약조건 크게 6가지 있음
-Not Null 제약조건
-Check 제약조건
-Unique 제약조건
-Primary Key 제약조건
-Foreign Key 제약조건
-Default 제약조건

Check 제약조건은 데이터베이스에서 특정 열(column)이나 테이블의 행(row)에 저장될 수 있는 값의 범위를 제한하는 데 사용되는 제약조건입니다. 즉, 이 제약조건은 특정 조건을 만족해야만 해당 값이 저장될 수 있도록 합니다.

예를 들어, 나이(age)라는 열에 대해 Check 제약조건을 설정할 수 있습니다. 이 경우, 나이는 0보다 커야 한다는 조건을 걸 수 있습니다:

CREATE TABLE Users (
    UserID INT PRIMARY KEY,
    Name VARCHAR(100),
    Age INT CHECK (Age > 0)  -- 나이가 0보다 커야 함
);


이렇게 설정하면, 사용자가 나이를 0이나 음수로 입력하려고 할 경우, 데이터베이스는 해당 값의 저장을 거부하게 됩니다. Check 제약조건은 데이터의 유효성을 유지하는 데 중요한 역할을 합니다.

MySQL제약조건 선언방식
-Create 시 인라인 제약 조건

**제약조건명 생략할 수 있다.

CREATE TABLE 테이블명 (
    필드명 데이터타입 CONSTRAINT 제약조건명 제약조건
);

CREATE TABLE 테이블명 (
    필드명 데이터타입 제약조건
)



-Create 시 외부제약조건

밑에 CONSTRAINT 라고 적는

CREATE TABLE 테이블명 (
    열1 데이터타입,
    열2 테이터타입
    …
    CONSTRAINT 제약조건명 제약조건 (열1, 열2,…)
)







-Alter문 사용 제약조건선언

ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 제약조건 (열1, 열2,…);




이 3개 방식이 모든 제약조건 지원하는 건 아님

 

제일 첫번쨰 로컬 DB로 들어가서 chapter_77 생김.

 

 

인라인제약조건 지원을 제일 많이 씀

 

반응형