ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 7. DML
    개발자 수업/DB 2021. 11. 10. 17:47

    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

    댓글