-- 데이터베이스 생성 및 사용
CREATE DATABASE IF NOT EXISTS practice_db;
USE practice_db;
-- 사용자 테이블 생성
DROP TABLE IF EXISTS users;
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100),
birth_date DATE
);
-- 상품 테이블 생성
DROP TABLE IF EXISTS products;
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(100),
price DECIMAL(10,2)
);
-- 주문 테이블 생성
DROP TABLE IF EXISTS orders;
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
product_id INT,
order_status VARCHAR(20),
created_at DATETIME,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
-- users 데이터 삽입
INSERT INTO users (name, email, birth_date) VALUES
('홍길동', 'hong@example.com', '1990-05-10'),
('김영희', 'kim@example.com', '1985-11-20'),
('이철수', 'lee@example.com', '2000-03-15'),
('박민수', 'park@example.com', '1995-07-30'),
('정은지', 'jeong@example.com', '1993-01-01'),
('한지민', 'han@example.com', '1988-09-14'),
('장동건', 'jang@example.com', '1978-06-25'),
('신세경', 'shin@example.com', '1999-12-05'),
('유재석', 'yoo@example.com', '1972-08-14'),
('강호동', 'kang@example.com', '1970-06-11');
-- products 데이터 삽입 (상품명에 카테고리 포함)
INSERT INTO products (product_name, price) VALUES
('갤럭시북 노트북', 1299000),
('맥북 에어 노트북', 1890000),
('로지텍 무선 마우스', 29900),
('앱코 유선 마우스', 19900),
('한성 기계식 키보드', 89000),
('로지텍 블루투스 키보드', 99000),
('삼성 27인치 모니터', 279000),
('LG 게이밍 모니터', 259000),
('삼성 외장 SSD', 139000),
('샌디스크 휴대용 SSD', 119000);
-- orders 데이터 삽입
INSERT INTO orders (user_id, product_id, order_status, created_at) VALUES
(1, 1, '배송완료', '2025-03-20 10:00:00'),
(2, 2, '주문취소', '2025-03-21 15:30:00'),
(3, 3, '배송중', '2025-03-22 09:00:00'),
(4, 4, '배송완료', '2025-03-25 14:20:00'),
(5, 5, '결제완료', '2025-03-24 11:45:00'),
(6, 6, '배송완료', '2025-03-23 08:15:00'),
(7, 7, '결제완료', '2025-03-21 13:00:00'),
(8, 8, '배송중', '2025-03-22 10:30:00'),
(9, 9, '배송완료', '2025-03-20 17:45:00'),
(10, 10, '주문취소', '2025-03-19 19:25:00');
CREATE DATABASE IF NOT EXISTS db_name;
: 데이터베이스를 만드는데(CREATE DATABASE) 조건이 db_name이라는 데이터베이스가 없어야만 한다.(IF NOT EXISTS)
존재하는 경우엔 생략한다.
USE db_name;
: db_name 이라는 데이터베이스를 사용(USE)한다.
DROP TABLE IF EXISTS users;
: users라는 테이블이 존재하는 경우(IF EXISTS) 완전히 삭제(DROP)해버린다.
CREATE TABLE users ( ~~~~~~
: users 라는 테이블을 생성한다.
이 아래부터는 괄호 안에 들어가는 말들이다.
user_id INT AUTO_INCREMENT PRIMARY KEY,
: user_id라는 column 값을 생성하는데 1부터 자동으로 1씩 증가하는 INT 형태로 생성된다.
'Programming > 프로그래밍언어 공부' 카테고리의 다른 글
C++ 구성요소 및 용어 정리 (0) | 2025.04.14 |
---|---|
클래스(class)와 구조체(struct)의 차이 (0) | 2025.04.13 |
접근지정자 private, protect, public 비교 (0) | 2025.04.13 |
클래스와 메서드의 차이. [Java, C++, Python 프로그래밍언어 상식] (0) | 2025.04.08 |
[Python] 데이터분석 순서, pandas vs. numpy (0) | 2025.01.21 |