회원테이블(member)과 구매테이블(buy) 생성하기
# 회원테이블 생성하기
DROP TABLE IF EXISTS member; --기존 회원테이블 삭제
CREATE TABLE member(
mem_id char(8) NOT NULL PRIMARY KEY,
mem_name varchar(10) NOT NULL,
mem_number tinyint NOT NULL,
addr char(2) NOT NULL,
phone1 char(3),
phone2 char(8),
height tinyint UNSIGNED,
debut_date date
);
# 구매 테이블 생성하기
DROP TABLE IF EXISTS buy; -- 기존 구매테이블 삭제
CREATE TABLE buy(
num int AUTO_INCREMENT NOT NULL PRIMARY KEY,
mem_id char(8) NOT NULL,
prod_name char(6) NOT NULL,
group_name char(4),
price int UNSIGNED NOT NULL,
amount smallint UNSIGNED NOT NULL,
FOREIGN KEY(mem_id) REFERENCES member(mem_id)
);
회원테이블과 구매테이블에 값 입력하기
# 회원테이블에 값 입력
INSERT INTO member VALUES('TWC', '트와이스', 9, '서울', '02', '11111111', 167, '2015-10-19');
INSERT INTO member VALUES('BLK', '블랙핑크', 4, '경남', '055', '22222222', 163, '2016-8-8');
INSERT INTO member VALUES('WMN', '여자친구', 6, '경기', '031', '33333333', 166, '2015-1-15');
# 구매 테이블에 값 입력
INSERT INTO buy VALUES(NULL, 'BLK', '지갑', NULL, 30, 2);
INSERT INTO buy VALUES(NULL, 'BLK', '맥북프로', '디지털', 1000, 1);
INSERT INTO buy VALUES(NULL, 'APN', '아이폰', '디지털', 200, 1); -- mem_id값이 APN인 데이터가 없기 떄문에 추가 불가
제약조건(constraint) : 데이터의 무결성을 지키기 위해 제한하는 조건
* 데이터 무결성이란? 데이터에 결함이 없음
기본 키(Primary Key) : 중복되지 않고, 비어 있지도 않음
※ CREATE TABLE에서 설정하는 기본키 제약조건
#1
CREATE TABLE member(
mem_id CHAR(8) NOT NULL PRIMARY KEY,
mem_name VARCHAR(10) NOT NULL,
height TINYINT UNSIGNED NULL
);
#2
CREATE TABLE member(
mem_id CHAR(8) NOT NULL,
mem_name VARCHAR(10) NOT NULL,
height TINYINT UNSIGNED NULL,
PRIMARY KEY(mem_id)
);
※ ALTER TABLE에서 설정하는 기본키 제약조건
CREATE TABLE member(
mem_id CHAR(8) NOT NULL,
mem_name VARCHAR(10) NOT NULL,
height TINYINT UNSIGNED NULL,
);
ALTER TABLE member
ADD CONSTRAINT
PRIMARY KEY(mem_id);
외래 키(Foreign Key) : 두 테이블 사이의 관계를 연결해주고, 그 결과 데이터의 무결성을 보장해주는 역할
* 기본키가 있는 테이블(기준 테이블)과 외래키가 있는 테이블(참조 테이블)의 관계를 통해 조인
※ CREATE TABLE에서 설정하는 외래키 제약조건
CREATE TABLE member(
mem_id CHAR(8) NOT NULL PRIMARY KEY,
mem_name VARCHAR(10) NOT NULL,
height TINYINT UNSIGNED NULL
);
CREATE TABLE buy(
num INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
mem_id CHAR(8) NOT NULL,
prod_name CHAR(6) NOT NULL,
FOREIGN KEY(mem_id) REFERENCES member(mem_id)
);
※ ALTER TABLE에서 설정하는 외래키 제약조건
CREATE TABLE buy(
num INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
mem_id CHAR(8) NOT NULL,
prod_name CHAR(6) NOT NULL
);
ALTER TABLE buy
ADD CONSTRAINT
FOREIGN KEY(mem_id)
REFERENCES member(mem_id);
[혼자 공부하는 SQL] Chapter04. SQL 고급 문법 (0) | 2022.02.13 |
---|---|
[혼자 공부하는 SQL] Chapter03. SQL 기본 문법 (0) | 2022.01.22 |
[혼자 공부하는 SQL] Chapter02. 실전용 SQL 미리 맛보기 (0) | 2022.01.12 |
[혼자 공부하는 SQL] Chapter01. 데이터베이스와 SQL (0) | 2022.01.12 |
댓글 영역