#혼공학습단13기 #혼공S #SQL #MYSQL
<aside> 📔
5-1
<aside> 📔
5-2
<aside> 📔
5-3
테이블을 만드는 방법: 1) 🖱️ 2) ⌨️
<aside> 🖱️
데이터베이스 생성 → 테이블 생성 → 데이터 입력
데이터베이스 생성 (DB명: naver_db)
<aside>
cf. SCHEMAS 패널에서 마우스 우클릭 후 [REFRESH ALL]을 선택하면 적용된 화면을 볼 수 있습니다.
cf. 데이터 삭제문 : DROP DATABASE naver_db;
</aside>
테이블 생성
<aside>
Tables 우클릭 → [Create Table]선택
***GUI에서는 PK-FK 관계를 선택할 수 없습니다. 따라서 손코딩으로 PK-FK 관계를 구현해야 합니다.
FOREIGN KEY(mem_id) REFERENCES member(mem_id)
</aside>
데이터 입력
<aside>
[SCHEMAS] 패널 → [Naver_db] →[Tables] → [member]우클릭 → [Select Rows -Limit 1000] 클릭
***PK-FK 관계로 연결되어 있을 때, 기준 테이블에는 반드시 PK에 대한 정보가 있어야 합니다.
***물건 구매 전 회원 가입을 해야 하는 것고 같은 맥락입니다!
</aside>
</aside>
<aside> ⌨️
데이터베이스 생성 → 테이블 생성 → 데이터 입력
데이터베이스 생성
<aside>
DROP DATABASE IF EXISTS naver_db;
CREATE DATABASE naver_db;
</aside>
테이블 생성
<aside>
naver_db 사용 → 기존 member 테이블 삭제 → 회원 테이블 생성
DROP DATABASE IF EXISTS naver_db;
CREATE DATABASE naver_db;
테이블 데이터 문법 : 열이름 데이터 형식 옵션(NULL 여부) 기본키
AUTO_INCREMENT (PK, UNIQUE)
PK-FK 관계 설정하기
CREATE TABLE naver_db.member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,**-- ***PK는 무조건 NOT NULL**
mem_name VARCHAR(10) NOT NULL,
mem_number TINYINT NOT NULL,
addr CHAR(2) NOT NULL,
phone1 CHAR(3) NULL,
phone2 CHAR(8) NULL,
height TINYINT UNSIGNED NULL, **-- ***unsigned는 자료형 뒤에 와야합니다**
debut_date DATE NULL
);
DROP TABLE IF EXISTS naver_db.buy;
CREATE TABLE naver_db.buy
( num INT AUTO_INCREMENT NOT NULL PRIMARY KEY, **-- ***AI 지정 열은 PK나 UNIQUE로 지정**
mem_id CHAR(8) NOT NULL,
prod_name CHAR(6) NOT NULL,
group_name CHAR(4) NULL,
price INT UNSIGNED NOT NULL,
amount SMALLINT UNSIGNED NOT NULL,
FOREIGN KEY(mem_id) REFERENCES member(mem_id) **-- ***PK-FK**
);
</aside>
데이터 입력
<aside>
INSERT INTO naver_db.buy VALUES(NULL, 'BLK','지갑',NULL,30,2);
INSERT INTO naver_db.buy VALUES(NULL, 'BLK','맥북프로','디지털',1000,1);
</aside>
</aside>
<aside>
특징: 중복 불가, NOT NULL, 테이블 당 하나의 열에만 설정 가능
CREATE TABLE에서 설정하기 - 열 정보와 함께
CREATE TABLE naver_db.member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,**-- ***PK 여깄지롱**
~~~
);
CREATE TABLE에서 설정하기 - 제일 마지막 행에 PRIMARY KEY (PK명)
CREATE TABLE naver_db.member
( mem_id CHAR(8) NOT NULL **-- ***PK 여기 없지롱**
~~~
PRIMARY KEY (mem_id) -- *****PK 여깄지롱**
);
ALTER TABLE에서 설정하기 - ALTER TABLE ~ ADD CONSTRAINT ~ PRIMARY KEY (PK명) </aside>
<aside>
</aside>
<aside>
</aside>
<aside>
</aside>