SQL INSERT, UPDATE, DELETE 명령어 실습

1. 인트로 데이터를 넣고(INSERT(인서트)), 수정하고(UPDATE(업데이트)), 삭제하는(DELETE(딜리트)) 명령어를 익힌다. 이 세 명령어는 DML(Data Manipulation Language(데이터 매니퓰레이션 랭귀지))에 속하며, 리액트 앱의 회원가입, 정보 수정, 탈퇴 기능의 핵심이다. 2. 실습 DB 준비 import sqlite3 conn = sqlite3.connect("sns.db") cur = conn.cursor() cur.execute(""" CREATE TABLE IF NOT EXISTS posts ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, content … 더 읽기

SQL SELECT 세부 명령어 실습 1

1. 인트로 SELECT의 강력한 세부 기능인 ORDER BY(오더 바이), DISTINCT(디스팅트), LIKE(라이크), IN(인)을 깊이 있게 익힌다. 이 기능들로 원하는 데이터를 정확하게 추출하는 능력을 키운다. 2. 실습 DB 준비 import sqlite3 import pandas as pd conn = sqlite3.connect("webtoon.db") cur = conn.cursor() cur.execute(""" CREATE TABLE IF NOT EXISTS webtoons ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT … 더 읽기

SQL SELECT 세부 명령어 실습 2

1. 인트로 WHERE 절의 심화 기능인 SubQuery(서브쿼리), LIMIT & BETWEEN(리밋 앤 비트윈)을 익힌다. 이 기능들은 복잡한 조건의 데이터를 정밀하게 추출할 때 사용된다. 2. 실습 DB 준비 (9차시 webtoon.db 이어서 사용) import sqlite3 import pandas as pd conn = sqlite3.connect("webtoon.db") cur = conn.cursor() # 데이터 확인 df = pd.read_sql("SELECT * FROM webtoons", conn) print(df[["id","title","genre","score","views"]]) 3. WHERE … 더 읽기

SQL INNER JOIN 실습

1. 인트로 JOIN(조인)은 두 개 이상의 테이블을 연결하여 함께 조회하는 기능이다. 실제 서비스 DB는 데이터를 여러 테이블에 나눠 저장하기 때문에 JOIN은 필수 기술이다. 이번 차시에서는 INNER JOIN(이너 조인)을 중점적으로 익힌다. 2. 실습 DB 준비 import sqlite3 import pandas as pd conn = sqlite3.connect("school.db") cur = conn.cursor() # 학생 테이블 cur.execute(""" CREATE TABLE IF NOT EXISTS … 더 읽기

SQL LEFT JOIN 실습

1. 인트로 INNER JOIN이 "두 테이블 모두에 일치하는 데이터"만 가져온다면, LEFT JOIN(레프트 조인)은 왼쪽 테이블의 모든 데이터를 가져온다. 오른쪽 테이블에 일치하는 값이 없으면 NULL(널)로 채운다. "주문하지 않은 회원도 포함하여 전체 회원 목록을 보여줘"와 같은 상황에서 필수이다. 2. 실습 DB 준비 import sqlite3 import pandas as pd conn = sqlite3.connect("cafe.db") cur = conn.cursor() # 메뉴 테이블 … 더 읽기

SQL GROUP BY 실습 1

1. 인트로 GROUP BY(그룹 바이)는 같은 값을 가진 행들을 묶어 집계 함수로 통계를 구하는 기능이다. "장르별 게임 수", "월별 매출", "카테고리별 평균 가격" 같은 통계 데이터를 만들 때 반드시 필요하다. 2. 실습 DB 준비 (7차시 game_store.db 이어서 사용) import sqlite3 import pandas as pd conn = sqlite3.connect("game_store.db") cur = conn.cursor() # 데이터 확인 df = … 더 읽기

SQL GROUP BY 실습 2

1. 인트로 GROUP BY의 심화 내용으로, 날짜/시간 데이터를 활용한 그룹화와 복잡한 GROUP BY 심화 패턴을 익힌다. 실제 서비스에서 "월별 매출", "시간대별 주문 수" 같은 통계는 이 패턴으로 만들어진다. 2. 실습 DB 준비 import sqlite3 import pandas as pd from datetime import datetime, timedelta import random conn = sqlite3.connect("orders.db") cur = conn.cursor() cur.execute(""" CREATE TABLE IF … 더 읽기

SQL SubQuery 활용 실습

1. 인트로 SubQuery(서브쿼리)는 SQL 안에 또 다른 SQL을 넣는 기술이다. 단일 SELECT로 처리하기 어려운 복잡한 조건을 하나의 쿼리로 해결할 수 있다. 이번 차시에서는 WHERE, FROM, SELECT 절에서의 서브쿼리 사용법을 모두 익힌다. 2. 실습 DB 준비 import sqlite3 import pandas as pd conn = sqlite3.connect("streaming.db") cur = conn.cursor() # 사용자 테이블 cur.execute(""" CREATE TABLE IF NOT … 더 읽기

데이터셋 기반 DB 구축 & DB 활용 실습 — 리액트 연동 완성

1. 인트로 이번 차시는 커리큘럼의 최종 완성 단계이다. 1차시부터 학습한 모든 내용을 통합하여 실제 리액트 앱과 파이썬 API 서버를 연동한다. 최종 결과물: 리액트 영화 추천 앱 [리액트 앱] ←→ [파이썬 FastAPI 서버] ←→ [SQLite DB] 2. 인트로 — 전체 구조 이해 2.1. 최종 프로젝트 구조 project/ ├── backend/ │ ├── main.py ← FastAPI(패스트에이피아이) 서버 │ … 더 읽기

sqlite3로 SQL 명령문 실행

1. DBMS와 데이터모델링 1.1. 데이터베이스 (DataBase) None: 데이터베이스(DB) : 하드웨어에 저장된 데이터의 집합 자체를 의미한다. 서류들이 가득 차 있는 '서류함'과 같다 1.2. 데이터베이스 관리 시스템 (DataBase Management System) None: 데이터베이스 관리 시스템(DBMS): 저장된 데이터베이스를 관리해 주는 소프트웨어이다. 서류함에서 원하는 서류를 찾고, 정리하고, 보호하는 '관리인' 역할을 한다. DB: 데이터를 보관하는 저장소 DBMS: 저장소를 관리하는 소프트웨어 1.3. … 더 읽기