| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 댓글크롤링
- Python
- c언어
- 파이썬
- 유튜브크롤링
- 후기 크롤링
- 리버싱
- Bandit
- 백준 1008번
- Linux
- 리눅스
- 워게임
- 크롤링
- SQL
- MySQL
- HackCTF
- 네이버스토어 후기
- Baekjoon
- ctf
- Welcome_rev
- Selenium
- reversing
- 웹크롤링
- split()
- 백준2557
- split()함수
- 백준
- 리뷰 크롤링
- Handray
- Reversing Me
- Today
- Total
root@hfairy:~$
[MySQL] 데이터베이스 구축 및 테이블 생성 본문
MySQL을 기반으로 실습 진행하였으며 버전은 8.1.0이다.
(mysql --version)
데이터베이스 생성
CREATE DATABASE IF NOT EXISTS cosmetic_db;
'CREATE DATABASE'를 이용해 'cosmetic_db'라는 데이터베이스를 생성한다.
이때 중복 생성을 방지하기 위해 'IF NOT EXISTS' 옵션을 넣어 만약 'cosmetic_db'라는 데이터베이스가 존재한다면 새로 생성하지 않는다.
SHOW databases;

테이블 생성
# 어떤 db 내에서 SQL문을 실행할 것인지 설정
USE cosmetic_db;
# 테이블 생성
CREATE TABLE derma_review_tb (
review_num int auto_increment primary key,
review_text varchar(500),
crawling_date datetime DEFAULT CURRENT_TIMESTAMP,
url varchar(500)
);
USE cosmetic_db
: 앞으로의 SQL문은 'cosmetic_db' 내에서 실행한다.
CREATE TABLE derma_review_tb
: 'derma_review_tb'라는 테이블을 생성하였다.
review_num int auto_increment primary key
: 'review_num'이라는 컬럼을 생성한다. 이 컬럼 내에는 정수형(int) 데이터가 새로운 행이 추가될 때마다 자동으로 1씩 증가( auto_increment)하여 저장되며, 이 값들은 고유한 값(primary key)을 가진다.
review_text varchar(500)
: 'review_text'라는 컬럼을 생성한다. 이 컬럼 내에는 가변 길이 문자열 데이터를 저장하며 최대 500자까지 저장할 수 있다.
crawling_date datetime DEFAULT CURRENT_TIMESTAMP
: ' crawling_date'라는 컬럼을 생성한다. 이 컬럼에는 날짜와 시간 정보(datetime)를 저장하며, 이 컬럼에 따로 값을 넣지 않으면 데이터가 저장되는 시각(DEFAULT CURRENT_TIMESTAMP)이 자동으로 입력되어 데이터 수집 시점을 기록한다.
url varchar(500)
: 'url'이라는 컬럼을 생성한다. 이 컬럼 내에는 가변 길이 문자열 데이터를 저장하며 최대 500자까지 저장할 수 있다.
컬럼 추가
ALTER TABLE derma_review_tb
ADD COLUMN site_name VARCHAR(50) after crawling_date,
ADD COLUMN product_name VARCHAR(50) after review_num,
ADD COLUMN review_date VARCHAR(50) after review_text;
ALTER TABLE derma_review_tb
: 'derma_review_tb'라는 테이블을 수정한다.
ADD COLUMN site_name VARCHAR(50) after crawling_date
: 'site_name'이라는 컬럼을 'crawling_date' 컬럼 바로 뒤에(after crawling_date) 추가한다. 데이터 타입은 VARCHAR이고 최대 50자까지의 문자열을 저장할 수 있다.
ADD COLUMN product_name VARCHAR(50) after review_num
: 'product_name'이라는 컬럼을 'review_num'컬럼 바로 뒤에(after review_num) 추가한다. 데이터 타입은 VARCHAR이고 최대 50자까지의 문자열을 저장할 수 있다.
ADD COLUMN review_date VARCHAR(50) after review_text
: 'review_date'라는 컬럼을 'review_text'컬럼 바로 뒤에(after review_text) 추가한다. 데이터 타입은 VARCHAR이고 최대 50자까지의 문자열을 저장할 수 있다.
테이블 컬럼 확인
최종적으로 생성한 테이블의 컬럼을 확인하기 위해 아래와 같이 쿼리를 작성하였다.
USE cosmetic_db;
SHOW COLUMNS FROM derma_review_tb;

각 컬럼의 목적은 아래와 같다.
review_num(primary key): 고유번호
product_name: 제품명
review_text: 리뷰 내용
review_date: 리뷰 작성 일자
crawling_date: 크롤링한 날짜 및 시간
site_name: 크롤링한 사이트 이름(쿠팡, 네이버쇼핑 등)
url: 크롤링한 사이트 url
'공부 > 빅데이터 분석' 카테고리의 다른 글
| [MySQL] .csv파일로 저장하고 엑셀에서 열기 (0) | 2025.12.27 |
|---|---|
| [웹크롤링] 네이버 쇼핑(네이버스토어) 후기 크롤링 (랭킹순, 별점 낮은순) (0) | 2025.12.27 |
| [웹크롤링] 네이버 스마트스토어 리뷰 크롤링 (12) | 2025.07.10 |
| [웹크롤링] 쿠팡 후기 크롤링 (2) | 2025.07.04 |
| [웹크롤링] 유튜브 숏츠 댓글 크롤링하기 (2) | 2025.06.12 |