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 |