πŸ“ŠSQL INSERT, UPDATE, DELETE, COMMIT, ROLLBACK

hamsangΒ·2022λ…„ 5μ›” 11일
0

SQLD

λͺ©λ‘ 보기
3/4
post-thumbnail

πŸ“ƒ INSERT

  • ν…Œμ΄λΈ”μ— 데이터λ₯Ό μΆ”κ°€ν•œλ‹€.

INSERT INTO ν…Œμ΄λΈ” 이름(μ‚½μž…ν•˜κ³ μž ν•˜λŠ” 속성λͺ…1, 속성λͺ…2, ...)
VALUES(κ°’1, κ°’2, ...) --μœ„μ— 적은 μ†μ„±μ˜ μˆœμ„œμ™€ 같아야함

  • 전체속성λͺ…이 λͺ¨λ‘ ν•„μš”ν•˜λ©΄ μƒλž΅κ°€λŠ₯
  • 속성과 μžλ£Œν˜•μ˜ μˆœμ„œλŠ” μΌμΉ˜ν•΄μ•Όν•œλ‹€.
--1번문제 BOOK ν…Œμ΄λΈ”μ— μƒˆλ‘œμš΄ λ„μ„œ '슀포츠 μ˜ν•™'을 μ‚½μž…ν•˜μ‹œμ˜€.
--슀포츠 μ˜ν•™μ€ ν•œμ†”μ˜ν•™μ„œμ μ—μ„œ μΆœκ°„ν–ˆμœΌλ©° 가격은 90,000원이닀.

INSERT INTO book
    values(11,'슀포츠 μ˜ν•™', 'ν•œμ†”μ˜ν•™μ„œμ ', 90000);

--2번문제 BOOK ν…Œμ΄λΈ”μ— μƒˆλ‘œμš΄ λ„μ„œ '슀포츠 μ˜ν•™'을 ν•˜λ‚˜ 더 μ‚½μž…ν•˜μ‹œμ˜€.
--슀포츠 μ˜ν•™μ€ ν•œμ†”μ˜ν•™μ„œμ μ—μ„œ μΆœκ°„ν–ˆμœΌλ©° 가격은 90,000원이닀.

INSERT INTO book(bookid, bookname, publisher)
    values(12,'슀포츠 μ˜ν•™', 'ν•œμ†”μ˜ν•™μ„œμ ');
 
--3번 문제 : μˆ˜μž…λ„μ„œ λͺ©λ‘ (imported_book)을 book ν…Œμ΄λΈ”μ— λͺ¨λ‘ μ‚½μž…ν•˜μ‹œμ˜€.

--selectλ₯Ό μ΄μš©ν•΄ insert into ν•˜λŠ” 법
--(μ‚½μž…ν•˜κ³ μž ν•˜λŠ” insert의 μžλ£Œν˜•κ³Ό select의 μžλ£Œν˜•μ΄ λͺ¨λ‘ μΌμΉ˜ν•΄μ•Όν•œλ‹€.)

INSERT INTO book(bookid, bookname, price, publisher)
    select bookid, bookname, price, publisher
    from imported_book;

πŸ“ƒ UPDATE

  • 이미 μ‚½μž…λ˜μ–΄ μžˆλŠ” 데이터λ₯Ό μˆ˜μ •ν•œλ‹€.

UPDATE ν…Œμ΄λΈ”μ΄λ¦„
SET 속성이름='속성값'
WHERE 쑰건

--1번문제 CUSTOMER ν…Œμ΄λΈ”μ—μ„œ κ³ κ°λ²ˆν˜Έκ°€ 5인 고객의 μ£Όμ†Œλ₯Ό 'λŒ€ν•œλ―Όκ΅­ λΆ€μ‚°'으둜 λ³€κ²½ν•˜μ‹œμ˜€.
UPDATE CUSTOMER
SET address='λŒ€ν•œλ―Όκ΅­ λΆ€μ‚°'
WHERE CUSTID = 5;

--2번문제 : CUSTOMER ν…Œμ΄λΈ”μ—μ„œ 박세리 고객의 μ£Όμ†Œλ₯Ό κΉ€μ—°μ•„ 고객의 μ£Όμ†Œλ‘œ λ³€κ²½ν•˜μ‹œμ˜€.
UPDATE CUSTOMER
SET address = (select ADDRESS
             from customer
             where custid =2)
where name LIKE '박세리'; --λΆ€μ†μ§ˆμ˜λ¬Έ ν™œμš©

πŸ“ƒ DELETE

  • μ‚½μž…λ˜μ–΄μžˆλŠ” 데이터λ₯Ό μ‚­μ œν•œλ‹€.

    DELETE
    FROM ν…Œμ΄λΈ”μ΄λ¦„
    WHERE 쑰건

--1번 문제 : customer ν…Œμ΄λΈ”μ—μ„œ κ³ κ°λ²ˆν˜Έκ°€ 5인 고객을 μ‚­μ œν•œ ν›„ κ²°κ³Ό 확인
DELETE
FROM CUSTOMER
WHERE CUSTID = 5;

--2번 문제 : λͺ¨λ“  고객을 μ‚­μ œν•˜μ‹œμ˜€.
DELETE FROM CUSTOMER;

πŸ“ƒ ROLLBACK

  • 보λ₯˜μ€‘인 λͺ¨λ“  데이터 변경사항을 폐기. ν˜„μž¬ νŠΈλžœμž­μ…˜ μ’…λ£Œ, 직전 컀밋 μ§ν›„μ˜ λ‹¨κ³„λ‘œ νšŒκ·€(λ˜λŒμ•„κ°€κΈ°)
  • 전체 νŠΈλžœμž­μ…˜μ„ λ‘€λ°±ν•œλ‹€.

ROLLBACK

ROLLBACK;

πŸ“ƒ COMMIT

  • 보λ₯˜μ€‘인 λͺ¨λ“  데이터 변경사항을 영ꡬ적으둜 적용.
  • λ°μ΄ν„°μƒνƒœ 볡ꡬ가 λΆˆκ°€ν•˜λ‹€.

COMMIT

COMMIT;
profile
햄생

0개의 λŒ“κΈ€