[sql] 제약 조건과 데이터 조작

SQL은 데이터를 조작하는 데 사용되는 강력한 언어입니다. 데이터 조작을 수행하면서 제약 조건을 지정하는 것은 데이터의 정확성과 일관성을 유지하기 위해 매우 중요합니다. 이번 블로그 포스트에서는 SQL에서 제약 조건과 데이터 조작에 대해 자세히 알아보겠습니다.

제약 조건

제약 조건은 테이블에 대한 규칙이나 제한 사항을 정의하는 것입니다. 제약 조건을 설정하면 데이터베이스는 해당 규칙을 지켜야 한다는 것을 강제합니다. 일반적으로 다음과 같은 제약 조건을 사용할 수 있습니다.

1. PRIMARY KEY

PRIMARY KEY 제약 조건은 테이블의 기본 키를 정의하는 데 사용됩니다. 기본 키는 테이블의 각 행을 고유하게 식별하는 역할을 합니다.

CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);

위 예제에서 id 컬럼은 PRIMARY KEY 제약 조건을 가지고 있으며, 각 학생을 식별하는 고유한 값으로 사용됩니다.

2. FOREIGN KEY

FOREIGN KEY 제약 조건은 테이블 간의 관계를 정의하는 데 사용됩니다. 외래 키는 다른 테이블의 기본 키를 참조하는 역할을 합니다.

CREATE TABLE courses (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    student_id INT,
    FOREIGN KEY(student_id) REFERENCES students(id)
);

위 예제에서 student_id 컬럼은 FOREIGN KEY 제약 조건을 가지고 있으며, students 테이블의 id 컬럼을 참조합니다. 이를 통해 학생과 과목 간의 관계를 정의할 수 있습니다.

3. NOT NULL

NOT NULL 제약 조건은 특정 컬럼에 빈 값을 허용하지 않음을 나타냅니다. 이 제약 조건을 설정하면 해당 컬럼에는 항상 값이 있어야 합니다.

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    department_id INT
);

위 예제에서 name 컬럼은 NOT NULL 제약 조건을 가지고 있으므로, 모든 직원은 이름을 가지고 있어야 합니다.

데이터 조작

데이터 조작은 SQL을 사용하여 테이블에 새로운 데이터를 삽입하거나 수정하고, 삭제하는 작업을 말합니다. 일반적으로 다음과 같은 명령문을 사용하여 데이터 조작을 수행할 수 있습니다.

1. INSERT

INSERT 문은 새로운 행을 테이블에 삽입하는 데 사용됩니다.

INSERT INTO students (id, name) VALUES (1, 'John');

위 예제에서 students 테이블에 새로운 학생을 추가합니다. idname 컬럼에 값을 지정하여 새로운 행을 삽입합니다.

2. UPDATE

UPDATE 문은 테이블에서 기존 행의 값을 업데이트하는 데 사용됩니다.

UPDATE students SET name='Mike' WHERE id=1;

위 예제에서 students 테이블에서 id가 1인 학생의 이름을 ‘Mike’로 변경합니다.

3. DELETE

DELETE 문은 테이블에서 특정 행을 삭제하는 데 사용됩니다.

DELETE FROM students WHERE id=1;

위 예제에서 students 테이블에서 id가 1인 학생을 삭제합니다.

결론

SQL에서 제약 조건과 데이터 조작은 데이터의 정확성과 일관성을 유지하기 위해 매우 중요합니다. 제약 조건을 설정하여 데이터의 무결성을 보장하고, 데이터 조작을 통해 쉽게 데이터를 추가, 수정, 삭제할 수 있습니다. SQL을 효과적으로 활용하여 데이터 조작을 수행하고, 제약 조건을 적절하게 설정함으로써 데이터베이스를 효율적으로 관리할 수 있습니다.

참고 링크: