이번 글에서는 데이터를 추가, 삭제, 갱신하는 등 데이터 관리 방법을 알아보자.
이전 글과 이어지는 내용이니, 데이터 준비를 위해 아래 글을 참조하기 바란다.
SQL - MySQL 데이터 준비
이번 글에서는 MySQL 을 사용하여, 로컬 데이터베이스에 데이터를 추가해보자 1. MySQL Workbench 접속 Local instance로 MySQL Workbench를 시작한다. 2. 실습 데이터 다운로드 001.mysqlsampledatabase: MySQLTUTORIAL 샘
sim-ds.tistory.com
0. 사용 Schema 지정
USE mydata;
- mydata 스키마를 사용
1. 테이블 생성
- tasks 테이블이 없을 시 테이블을 생성하는 코드
CREATE TABLE IF NOT EXISTS tasks (
task_id INT AUTO_INCREMENT
, title VARCHAR(255) NOT NULL
, start_date DATE
, due_date DATE
, priority TINYINT NOT NULL DEFAULT 3
, DESCRIPTION TEXT
, PRIMARY KEY (task_id)
);
- "tasks"라는 이름의 테이블을 생성합니다.
- 각 작업을 고유하게 식별하기 위한 "task_id" 열을 가집니다.
- 작업 제목을 저장하는 "title" 열을 가집니다.
- 우선순위, 시작일, 마감일 및 작업 설명을 저장할 수 있는 열을 추가로 가집니다.
2. INSERT
- 생성한 tasks 테이블에 여러 행 추가
INSERT INTO tasks(title, priority)
VALUES
('Learn AWS', 1),
('Learn Python', 2),
('Learn R', 4);
- 'Learn AWS' 작업을 우선순위 1로 추가합니다.
- 'Learn Python' 작업을 우선순위 2로 추가합니다.
- 'Learn R' 작업을 우선순위 4로 추가합니다.
- 날짜 추가
INSERT INTO tasks(title, start_date, due_date)
VALUES ('Learn INSERT', '2023-10-03', '2023-10-04');
INSERT INTO tasks(title, start_date, due_date)
VALUES ('Learn DELETE', CURRENT_DATE(), CURRENT_DATE());
SELECT * FROM tasks;
- Learn INSERT' 작업을 시작일 '2023-10-03'과 마감일 '2023-10-04'로 추가한 후, "tasks" 테이블을 조회합니다.
- 'Learn DELETE' 작업을 현재 날짜를 시작일과 마감일로 추가한 후, "tasks" 테이블을 다시 조회합니다.
3. DELETE
- WHERE과 종종 같이 쓰임
SET SQL_SAFE_UPDATES = 0; -- Error Code: 1175 방지
-- 또는 Edit > Preferences > SQL Editor > Other에서 Safe Updates 체크 해제
DELETE FROM tasks WHERE title = 'Learn AWS';
SELECT * FROM tasks;
- SQL_SAFE_UPDATES값을 0으로 설정하여 오류 코드 1175를 방지합니다.
- 'Learn AWS'라는 제목을 가진 작업을 "tasks" 테이블에서 삭제합니다.
- 삭제 작업 후, "tasks" 테이블을 다시 조회하여 현재 테이블의 상태를 확인합니다.
4. UPDATE
- 특정 행의 값들을 갱신해주는 코드
UPDATE tasks
SET
start_date = DATE(CURRENT_DATE())
, due_date = DATE('2023-12-05')
, priority = 1
WHERE task_id = 5;
- "tasks" 테이블에서 "task_id"가 5인 특정 작업의 정보를 업데이트합니다.
- 시작일("start_date")을 현재 날짜로 설정합니다.
- 마감일("due_date")을 '2023-12-05'로 설정합니다.
- 우선순위("priority")를 1로 설정합니다.
5. VIEW
- 테이블을 직접 생성하지 않고 SELECT문의 출력 결과를 보고자 할 때 사용
CREATE VIEW tasksView
AS
SELECT *
FROM tasks
WHERE task_id = 5;
SELECT * FROM tasksView;
- "tasksView"라는 가상 뷰를 생성합니다.
- 이 뷰는 "tasks" 테이블에서 "task_id"가 5인 특정 작업만을 선택하여 가상으로 표시합니다.
'# Coding > SQL' 카테고리의 다른 글
SQL - 식료품 배송 데이터 분석 (0) | 2023.10.12 |
---|---|
SQL - 상품 리뷰 데이터 분석 (0) | 2023.10.10 |
SQL - 매출 데이터 분석 (1) | 2023.10.10 |
SQL - Query (0) | 2023.10.05 |
SQL - MySQL 데이터 준비 (0) | 2023.10.05 |