앞으로 SQL을 공부하며 예문들을 실습하기 위해 막 가지고 놀기위한 가상의 쇼핑몰 DB를 만들었다. 현재 공부하고 있는 책에서 제공해준 DB 설계대로 따라했고 앞으로도 많이 쓰일 DB이다. MySQL에 있는 도구로 하나씩 클릭하고 내용을 입력할 수도 있지만, SQL문을 직접 연습하는 차원에서 하나하나 작성했다.
-- 공DB 생성
DROP DATABASE IF EXISTS sqldb ;
CREATE DATABASE sqldb ;
-- 사용할 DB 지정
USE sqldb ;
CREATE TABLE usertbl -- 회원 테이블
( userID CHAR(8) NOT NULL PRIMARY KEY, -- 사용자 아이디(PK)
name VARCHAR(10) NOT NULL, -- 이름
birthYear INT NOT NULL, -- 출생년도
addr CHAR(2) NOT NULL, -- 지역, 경기 서울 경남 식으로 2글자만 입력
mobile1 CHAR(3), -- 휴대폰 국번
mobile2 CHAR(8), -- 국번 제외 나머지 번호
height SMALLINT, -- 키
mDate DATE -- 회원 가입날짜
);
CREATE TABLE buytbl -- 회원 구매 테이블 (buy table의 약자)
( num INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -- 순번(PK)
userID CHAR(8) NOT NULL, -- 아이디(FK)
prodName CHAR(6) NOT NULL, -- 물품명
groupName CHAR(4), -- 분류
price INT NOT NULL, -- 단가
amount SMALLINT NOT NULL, -- 수량
FOREIGN KEY (userID) REFERENCES usertbl (userID)
);
-- 데이터 하나씩 입력과정
INSERT INTO usertbl VALUES('LSG', '이승기', 1987, '서울', '011', '1111111', 182, '2008-8-8');
INSERT INTO usertbl VALUES('KBS', '김범수', 1979, '경남', '011', '2222222', 173, '2012-4-4');
INSERT INTO usertbl VALUES('KKH', '김경호', 1971, '전남', '019', '3333333', 177, '2007-7-7');
INSERT INTO usertbl VALUES('JYP', '조용필', 1950, '경기', '011', '4444444', 166, '2009-4-4');
INSERT INTO usertbl VALUES('SSK', '성시경', 1979, '서울', NULL , NULL , 186, '2013-12-12');
INSERT INTO usertbl VALUES('LJB', '임재범', 1963, '서울', '016', '6666666', 182, '2009-9-9');
INSERT INTO usertbl VALUES('YJS', '윤종신', 1969, '경남', NULL , NULL , 170, '2005-5-5');
INSERT INTO usertbl VALUES('EJW', '은지원', 1972, '경북', '011', '8888888', 174, '2014-3-3');
INSERT INTO usertbl VALUES('JKW', '조관우', 1965, '경기', '018', '9999999', 172, '2010-10-10');
INSERT INTO usertbl VALUES('BBK', '바비킴', 1973, '서울', '010', '0000000', 176, '2013-5-5');
INSERT INTO buytbl VALUES(NULL, 'KBS', '운동화', NULL, 30, 2);
INSERT INTO buytbl VALUES(NULL, 'KBS', '노트북', '전자', 1000, 1);
INSERT INTO buytbl VALUES(NULL, 'JYP', '모니터', '전자', 200, 1);
INSERT INTO buytbl VALUES(NULL, 'BBK', '모니터', '전자', 200, 5);
INSERT INTO buytbl VALUES(NULL, 'KBS', '청바지', '의류', 50, 3);
INSERT INTO buytbl VALUES(NULL, 'BBK', '메모리', '전자', 80, 10);
INSERT INTO buytbl VALUES(NULL, 'SSK', '책' , '서적', 15, 5);
INSERT INTO buytbl VALUES(NULL, 'EJW', '책' , '서적', 15, 2);
INSERT INTO buytbl VALUES(NULL, 'EJW', '청바지', '의류', 50, 1);
INSERT INTO buytbl VALUES(NULL, 'BBK', '운동화', NULL, 30, 2);
INSERT INTO buytbl VALUES(NULL, 'EJW', '책' , '서적', 15, 1);
INSERT INTO buytbl VALUES(NULL, 'BBK', '운동화', NULL, 30, 2);
-- 제대로 입력했는지 확인
SELECT * FROM usertbl ;
SELECT * FROM buytbl ;
틀린 부분이 없이 작성을 했다면 다음과 같은 DB와 테이블이 만들어졌어야 한다.



앞으로 이번에 만든 DB를 가지고 여러가지를 시도해보는 연습 과정을 올리도록 하겠다.
'IT Self-study > MySQL & Database' 카테고리의 다른 글
| 테이블 복사 (별첨) (0) | 2025.01.07 |
|---|---|
| 데이터 조회 (조건부 활용) (0) | 2025.01.07 |
| SELECT (0) | 2024.11.02 |
| MySQL 기초 기능 (2) (0) | 2024.10.18 |
| MySQL 기초 기능 (1) (1) | 2024.10.12 |