-
1. INSERT
1) 테이블에 새로운 row를 삽입하는 SQL
2) Syntax
- INSERT <table_name>[(<column_name>, ...)] VALUES (value, ...)
3) example
- INSERT student VALUES ('20211110', 'kim', 'Computer', 1);
- INSERT student (id, name, dept_name, grade) VALUES ('20211110', 'kim', 'Computer', 1);
- INSERT student (id, name, dept_name) VALUES ('20211110', 'kim', 'Computer');2. INSERT INTO SELECT
1) 다른 테이블에서 질의 결과를 삽입하는 구문
2) INSERT <table_name>[(<column_name>, ...)] <SELECT clause>
3) example
- INSERT INTO student SELECT * FROM new_students;-- Book 데이터 생성 insert into book values(1, '축구의 역사', '굿스포츠', 7000); insert into book values(2, '축구아는 여자', '나무수', 13000); insert into book values(3, '축구의 이해', '대한미디어', 22000); insert into book values(4, '골프 바이블', '대한미디어', 35000); insert into book values(5, '피겨 교본', '굿스포츠', 8000); insert into book values(6, '역도 단계별 기술', '굿스포츠', 6000); insert into book values(7, '야구의 역사', '이상미디어', 20000); insert into book values(8, '야구를 부탁해', '이상미디어', 13000); insert into book values(9, '올림픽 이야기', '삼성당', 7500); insert into book values(10, 'Olympic Champions', 'Pearson', 13000); commit; insert into customer values(1, '박지성', '영국 맨체스터', '000-5000-0001'); insert into customer values(2, '김연아', '대한민국 서울', '000-6000-0001'); insert into customer values(3, '장미란', '대한민국 강원도', '000-7000-0001'); insert into customer values(4, '추신수', '미국 클리블랜드', '000-8000-0001'); insert into customer values(5, '박세리', '대한민국 대전', null); commit; insert into orders values(1, 1, 1, 6000, to_date('2021-07-01', 'yyyy-mm-dd')); insert into orders values(2, 1, 3, 21000, to_date('2021-07-03', 'yyyy-mm-dd')); rollback; insert into orders values(3, 2, 5, 8000, to_date('2021-07-03', 'yyyy-mm-dd')); insert into orders values(4, 3, 6, 6000, to_date('2021-07-04', 'yyyy-mm-dd')); insert into orders values(5, 4, 7, 20000, to_date('2021-07-05', 'yyyy-mm-dd')); insert into orders values(6, 1, 2, 12000, to_date('2021-07-07', 'yyyy-mm-dd')); insert into orders values(7, 4, 8, 13000, to_date('2021-07-07', 'yyyy-mm-dd')); insert into orders values(8, 3, 10, 12000, to_date('2021-07-08', 'yyyy-mm-dd')); insert into orders values(9, 2, 10, 7000, to_date('2021-07-09', 'yyyy-mm-dd')); insert into orders values(10, 3, 8, 13000, to_date('2021-07-10', 'yyyy-mm-dd')); commit;
3. DELETE
1) 테이블에서 쿼리에 해당되는 row를 지우는 SQL
2) Syntax
- DELETE FROM <table_name> [WHERE condition]
3) example
- DELETE FROM student; --> 모든 rows 삭제
- DELETE FROM student WHERE dept_name = 'Computer';
- DELETE FROM student WHERE dept_name in ();-- 모든 고객을 삭제하시오 delete from customer; delete from orders; rollback; -- customer 테이블에서 고객번호가 5인 고객을 삭제한 후 결과를 확인하시오 delete from customer where custid = 5; select * from customer; rollback;
4. UPDATE
1) 테이블에 저장된 데이터를 변경하는 SQL
2) Syntax
- UPDATE <table_name> SET <column_name> = value [WHERE condition]
3) example
- UPDATE employee SET salary = salary * 1.07;
- UPDATE employee SET salary = salary * 1.07 WHERE hire_date < '2021.01.01';
- UPDATE employee SET salary = salary * 1.07 WHERE dept_name in ();-- customer 테이블에서 고객번호가 5인 고객의 주소를 '대한민국 부산'으로 변경하시오 update customer set address = '대한민국 부산' where custid = 5; commit; -- customer 테이블에서 박세리 고객의 주소를 김연아 고객의 주소로 변경하시오 SELECT address from customer where name = '김연아'; UPDATE customer SET address = (SELECT address from customer where name = '김연아') WHERE name = '박세리'; commit;
'개발자 수업 > DB' 카테고리의 다른 글
9. SELECT2 (0) 2021.11.11 8. SELECT (0) 2021.11.10 6. DDL (0) 2021.11.09 5. SQL 기초 (0) 2021.11.09 4. 관계형 데이터 모델 (0) 2021.11.09