1. INSERT

1
INSERT INTO table1(field1, field2) VALUES (1, 2)

- 지정한 relation에 새로운 tuple을 삽입하는 쿼리다.

- (그 relation의 foreign key를 통해) 다른 relation을 참조하는 relation에 tuple을 추가할 경우 (foriegn key와 primary key 사이 관계가 항상 유지돼야 한다는) 참조 무결성이 위배될 수 있다. (그러나 다른 relation의 foreign key에 의해 참조되는 relation에 tuple을 추가하는 경우에는 참조 무결성 위배가 발생하지 않는다.)

1
INSERT INTO table1(field1, field2) (SELECT field1, field2 FROM table2 WHERE field2 > 0)

- VALUES 예약어를 생략하고 그 위치에 subquery를 써서 여러 개의 tuple을 한번에 삽입할 수도 있다.

2. DELETE

1
DELETE FROM table1 WHERE field2 < 0

- 지정한 relation에서 조건에 맞는 tuple을 삭제하는 쿼리다.

- 다른 relation의 foreign key에 의해 참조되는 relation에서 tuple을 삭제할 경우 그 삭제로 인해 참조 무결성이 위배될 수 있다. (단, 그 relation의 foreign key를 통해 다른 relation을 참조하는 relation에서 tuple을 삭제하는 경우에는 참조 무결성 위배가 발생하지 않는다.)

3. UPDATE

1
UPDATE table1 SET field2 = field2 * -1 WHERE field2 < 0

- 지정한 relation에서 조건에 맞는 tuple의 attribute 값을 변경하는 쿼리다.

- foreign key나 primary key에 속하는 attribute의 값을 변경 시 참조 무결성 위배가 발생할 수 있다.