✏️ STUDY/📍 data

[SQL 기초] INSERT / UPDATE / DELETE

나무울 2023. 5. 31. 13:27

 

 

https://youtu.be/8gfiXbAsBko

위 강의를 보고 실습하면서 정리한 내용입니다.

 


 

INSERT

  • 테이블에 데이터를 삽입한다 (쿼리 수행 시, 데이터가 한 로우씩 테이블에 입력된다)
  • INSERT 문은 쿼리를 수행하고 나서 COMMIT 작업을 별도로 수행해주어야 한다 (COMMIT;)
  • ROLLBACK: INSERT 했던 작업을 취소하는 행위

 

[MySQL 오토커밋(AutoCommit) 해제 방법]

  • Edit - Preferences - SQL Editor - SQL Execution\
  • New connections use auto commit mode 체크박스 해제

 

[실습]

SELECT * FROM NETFLIX n ;

INSERT INTO NETFLIX VALUES ('나의 아저씨', '드라마', 50, SYSDATE);

COMMIT;

INSERT INTO NETFLIX (VIDEO_NAME, VIEW_CNT) VALUES ('시그널', 42)

ROLLBACK; 

INSERT INTO NETFLIX VALUES ('응답하라 1988', '드라마', 35, SYSDATE-30);
INSERT INTO NETFLIX VALUES ('이태원 클라쓰', '드라마', 30, SYSDATE-40);
INSERT INTO NETFLIX VALUES ('미스터 선샤인', '드라마', 22, SYSDATE-300);

 


 

UPDATE

  • 데이터를 변경한다
  • UPDATE 문도 쿼리를 수행하고 나서 COMMIT 작업을 별도로 수행해주어야 한다 (COMMIT;)
  • WHERE 조건절을 제외하면 모든 데이터가 변경되므로 유의한다 
  • 버튼을 통해서도 COMMIT과 ROLLBACK 실행 가능하다

 

[실습]

SELECT * FROM NETFLIX n ;

UPDATE NETFLIX SET VIEW_CNT = 70 WHERE VIDEO_NAME = '나의 아저씨';
UPDATE NETFLIX SET CATEGORY = '드라마', REG_DATE = TO_DATE('20210101', 'YYYYMMDD') WHERE VIDEO_NAME = '시그널'

COMMIT;

 


 

DELETE

  • 데이터를 삭제한다
  • DELETE 문도 쿼리를 수행하고 나서 COMMIT 작업을 별도로 수행해주어야 한다 (COMMIT;)
  • TRUNCATE와 DELETE의 차이
    1. TRUNCATE는 테이블의 모든 데이터를 날린다면, DELETE는 내가 원하는 데이터만 골라서 삭제할 수 있다
    2. TRUNCATE는 되돌릴 수 없지만, DELETE는 ROLLBACK이 가능하다
    3. 모든 데이터를 삭제하고 싶은 경우라면 TRUNCATE가 빠르다
    4. DELETE에서 TRUNCATE와 같은 기능을 사용하고 싶다면, WHERE를 사용하지 않는다

 

[실습]

SELECT * FROM NETFLIX n ;

DELETE FROM NETFLIX n WHERE VIDEO_NAME = '미스터 선샤인';
DELETE FROM NETFLIX n WHERE CATEGORY = '드라마' AND VIEW_CNT < 35;
DELETE FROM NETFLIX WHERE VIDEO_NMAE IN ('시그널', '나의 아저씨');

COMMIT;

 

 

'✏️ STUDY > 📍 data' 카테고리의 다른 글

[SQL 기초] ORDER BY / GROUP BY  (0) 2023.06.03
[SQL 기초] SELECT / WHERE  (0) 2023.06.01
[SQL 기초] ALTER / DROP / TRUNCATE  (0) 2023.05.28
[SQL 기초] DATABASE / TABLE / CREATE  (0) 2023.05.06
[Tableau 중급] 12. DATE 함수 활용  (0) 2023.04.19