DB/설정

MySQL 컬럼에 제약조건 추가하기

ssury94 2024. 11. 26. 17:02
 
 
 

 

ID처럼 중복되지 않아야 하는 고유데이터나, 

필수로 입력 되어야 하는 데이터들은 제약조건을 추가할 수 있습니다.

 

 


Primary key란?

고유 식별자 : 각 행을 고유하게 식별하는 역할

Null 불허 : 기본 키값을 가져야 함

하나의 키 : 테이블 당 하나의 기본 키만 설정

인덱스 생성 : 자동으로 클러스터형 인덱스가 생성되어 검색기능을 향상시킴

 

Unique key란?

고유성 : 열 값이 중복되지 않도록함

Null 가능 : 비어있어도 OK

여러개 설정 가능 : 테이블 당 여러개의 유니크 키 설정 가능

비클러스터형 인덱스

 

primary key는 데이터베이스의 무결성을 보장하는데 필수적이며,

unique key는 데이터 중복 방지에 사용된다!

 


ID 컬럼 설정하기-primary key

id는 고유한 식별자여야 하고, 검색이 용이해야하며 = primary key

값이 없으면 안됩니다. = not null

id를 일일히 기억해서 입력하기보단 데이터 입력시 자동으로 +1씩 데이터값이 정해지게 설정하는게 좋습니다. = Auto increment

New constraint from selection > primary key 에 id 항목 체크

 

not null, auto increment 체크된 상태에서 insert into 코드를 입력 하면

 

INSERT INTO customer (name,email,age)values("김사람","e@mail.com",74),("김진수","D@mail.com",24);

 id항목을 별도로 입력하지 않았어도 자동으로 +1되어 입력되었습니다.


이메일 컬럼 설정하기-unique key

Columns 탭 데이터 오른클릭으로도 설정가능하나  Constraints 탭에서도 설정 가능합니다.

 

이메일은 unique key 설정을 통해 중복값이 입력되지 않도록 설정했습니다.

 

INSERT INTO customer (name,email,age)
values("김예슬","h@mail.com",70);
INSERT INTO customer (name,email,age)
values("김성래","h@mail.com",70);

 

동일 이메일주소로 데이터 입력이 되지 않았습니다.

 

* 세이브와 리프레시를 습관화합시다.