Software Study/SQL
[2021.02.18]SQL 공부 - 제약조건, 업데이트, 삭제
욜스터
2021. 2. 18. 17:40
728x90
Constraints (제약조건)
제약 조건(constraint)이란 데이터의 무결성을 지키기 위해, 데이터를 입력받을 때 실행되는 검사 규칙을 의미한다.
이러한 제약 조건은 CREATE 문으로 테이블을 생성할 때나 ALTER 문으로 필드를 추가할 때도 설정할 수도 있다.
1. Unique & NULL
CREATE TABLE student(
student_id INT,
name VARCHAR(20) NOT NULL,
major VARCHAR(20) UNIQUE,
PRIMARY KEY(student_id)
);
UNIQUE -> 중복되는 값은 안됨.
해당 필드는 서로 다른 값을 가져야 한다. 즉, 이 제약 조건이 설정된 필드는 중복된 값을 저장할 수 없다.
NOT NULL-> 널(NULL)값은 안됨.
해당 필드는 NULL 값을 저장할 수 없다. 즉, 이 제약 조건이 설정된 필드는 무조건 데이터를 가지고 있어야 한다.
예시)
INSERT INTO student VALUES(1,'Jack', 'Biology');
INSERT INTO student VALUES(2,'Kate', 'Sociology');
위를 실행하면 잘 돌아간다.
INSERT INTO student VALUES(3, NULL, 'Chemistry');
INSERT INTO student VALUES(4,'Jack', 'Biology');
위를 실행하면 오류메시지가 뜬다.
2. Default value
CREATE TABLE student(
student_id INT,
name VARCHAR(20),
major VARCHAR(20) DEFAULT 'undecided',
PRIMARY KEY(student_id)
);
DEFAULT -> 정보가 주어지지 않으면 기본값으로 저장해줌.
해당 필드의 기본값을 설정할 수 있게 해준다. 만약 레코드를 입력할 때 해당 필드 값을 전달하지 않으면, 자동으로 설정된 기본값을 저장한다.
예시)
INSERT INTO student (student_id, name) VALUES(1, 'John');
+ Auto increment
CREATE TABLE student(
student_id INT AUTO_INCREMENT,
name VARCHAR(20),
major VARCHAR(20),
PRIMARY KEY(student_id)
);
AUTO_INCREMENT -> 알아서 ++됨.
예시)
INSERT INTO student(name, major) VALUES('Jack', 'Biology');
INSERT INTO student(name, major) VALUES('Kate', 'Sociology');
위를 실행하면 알아서 student_id가 1부터 1씩 증가한다.
Update & Delete
728x90
반응형