데이터 베이스 SQL기본에 관한 동영상.
https://www.youtube.com/watch?v=Z66quG3HBls&list=PLVsNizTWUw7Hox7NMhenT-bulldCp9HP9&index=19
위 영상을 참고로 데이터베이스 만들기
MySQL DBMS Workbench 설치법은 아래 참고.
https://ansan-survivor.tistory.com/1130
MySQL DBMS 구조 및 간단 사용법
https://ansan-survivor.tistory.com/1142
회원테이블은 아이디를 Primary Key(PK)로 사용하며, 8개의 Title이 있다.
구매테이블은, 회원테이블을 Foreign Key(FK)로 아이디를 연결하며, 순번이 Primary Key(PK)로 쓴다.
구매테이블의 FK는 구매 항목이므로 해당 아이디가 여러번 나올 수 있다.
1. 새로운 db 생성.
이름은 sqldb로 했다.
CREATE DATABASE sqldb;
2. 첫번째 테이블 생성
위에서 생성한 db 내에 사용하기 때문에 USE문으로 db명을 선택해야 한다.
user에 관한 정보 "usertbl" 생성. 상단의 Title 부분만 생성하는 것이다.
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), -- 휴대폰의 국번(011, 016, 017, 018, 019, 010 등)
mobile2 CHAR(8), -- 휴대폰의 나머지 전화번호(하이픈제외)
height SMALLINT, -- 키
mDate DATE -- 회원 가입일
);
3. 두번째 테이블 생성
구매목록 관련 테이블 생성, PK으로는 구매의 순번. AUTO_INCREMENT는 자동으로 새롭게 생긴 열에 숫자를 매긴다.
맨아래 옵션으로 FOREIGN KEY 으로 reference(참조)형식으로 설정
FOREIGN KEY (FK로_사용할_타이틀) REFERENCES 다른테이블(FK로_사용할_타이틀)
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)
);
4. 생성한 테이블에 값을 넣기
아래와 같이 각 테이블에 값을 넣을 수 있다. (순서대로 넣는다. 없으면 NULL을 넣으면 된다.)
INSERT INTO 테이블이름 VALUES('첫번째값', '두번째값', ... '마지막값');
AUTO_INCREMENT 옵션이 들어간 인자는 자동으로 숫자가 들어가기 때문에 NULL을 넣으면 된다.
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관련 > MySQL' 카테고리의 다른 글
[MySQL] WHERE 조건 필더 (AND, OR, BETWEEN, IN) (0) | 2022.03.27 |
---|---|
[MySQL] USE문, SELECT * FROM문, 주석처리 하기, 항목보기 SHOW문 (0) | 2022.03.21 |
[MySQL / MariaDB] MySQL Workbench 사용자 생성, 권한 관리하기 (0) | 2022.03.14 |
[MySQL / MariaDB] 윈도우 MySQL Workbench에서 리눅스 MySQL(MariaDB)서버로 연결하기 (0) | 2022.03.14 |
[MySQL / MariaDB] 리눅스 CentOS에서 MariaDB 루트(root) 암호 생성하기 (0) | 2022.03.04 |