앞절에서 사용한 create문은 단지 데이터를 입력하기 위한 표를 생성한 것에 불과하다. 실제 데이터베이스를 구축하려면 이러한 표에 해당되는 데이터를 입력해야만 가능하다. 이와같은 데이터의 관리를 위해 SQL에서는 insert, update, delete문을 지원하고 있다.
Insert문
Insert문은 데이터를 데이터베이스에 삽입하는 경우에 사용된다. ANSI SQL에서와 같이 insert 안에서 select를 포함할 수 없다. 삽입시에 필드 이름을 쓰지 않으면 정의될 때와 같은 순서로 데이터를 삽입하게 된다. Insert문의 형식은 다음과 같다.
사용형식
숫자형 데이터는 인용부호없이 입력하며, 문자형 데이터는 작은 따옴표('')로 인용해야 한다. Insert문 역시 한번에 하나만 사용해야 한다. 따라서 많은 양의 데이터를 입력할 때에는 Insert 문을 사용하는 것보다는 msqlimport를 이용해서 삽입해야 한다. msqlimport에대한 사용법은 앞절을 참고한다.
데이터베이스에 이미 존재하는 데이터를 변경할 때 사용된다. Update문은 where문에의해 지정된 하나 또는 그 이상의 행들에대해 수행된다. where문의 조건과 일치하는 임의의 개수의 필드 값들이 변경된다. 단 update 값으로서 필드명을 사용할 수 없다. Update문의 형식은 다음과 같다.
사용형식
where 문으로 지정된 데이터를 set 문의 데이터로 변경한다.
UPDATE table_name SET column=value [ , column=value ]**
WHERE column OPERATOR value [ AND | OR column OPERATOR value ]**
WHERE문에서 사용할 수 있는 OPERATOR는 <, >, =, <=, >=, <>, LIKE, RLIKE 나 CLIKE가 있다.
사용예
다음은 emp_id가 1234인 사람의 salary를 30000으로 변경하는 문장이다.
UPDATE emp_details SET salary=30000
WHERE emp_id = 1234
연습
insert 문으로 작성한 데이터중에서 이름이 한창문인 사람의 student_id를 964203으로 변경시켜라.
Delete문
Delete문은 조건식에 맞는 데이터를 삭제하는 경우에 사용된다. 조건식은 WHERE구문에 의해서 제공된다. Delete문의 형식은 다음과 같다.
사용형식
WHERE 문으로 지정한 데이터를 테이블로부터 삭제한다.
DELETE FROM table_name
WHERE column OPERATOR value [ AND | OR column OPERATOR value ]**
WHERE문에서 사용할 수 있는 OPERATOR는 <, >, =, <=, >=, <>, LIKE, RLIKE 나 CLIKE가 있다.
사용예
emp_details 테이블에서 emp_id가 12345인 employee를 삭제하고 싶은 경우에는 다음과 같이 한다.