[SQL 독학] GUI 환경에서 테이블 생성하기+SQL로 테이블 만들기

2022. 6. 23. 12:24SQL

테이블은 표 형태로 구성된 2차원 구조로,

행 = 로우(row) = 레고드(record)

열 = 컬럼(column) = 필드(field)

라고 부른다.

 

테이블을 만들 때엔 2가지 방법이 있는데

마우스로 클릭해서 편리하게 만드는 방법,

- 이전에 앞장에서 테이블 만들 때 했던 방식 -

이걸 GUI방식이라고 한다. 그리고 그 외엔

직접 SQL문을 입력하는 방식이 있다.

 

 

GUI 환경에서 테이블 만들기

https://my-own-record-210621.tistory.com/26

방법은 이전과 동일한데 조금 추가 사항이 있다.

 

Workbench 에서

CREATE DATABASE naver_db;

입력하여 새로운 데이터베이스를 생성해준다.

네비게이터에 새로 생성된 걸 확인하고

naver_db 더블클릭. (혹은 USE naver_db)

테이블 위에서 마우스 오른쪽 버튼,

Create Table 선택하면 된다.

012
DB 구성도 및 설계도 (출처 : 한빛미디어 - 혼자 공부하는 SQL)

01) '자동증가'를 설정해 줄 때는

AI(Auto Increasing)에 체크 박스 해줄 것.

그리고 UNSIGNED는 UN이다.

02) 외래키 지정은 직접 SQL로 손코딩 해줄 것.

사실 최신 버전에서는 GUI 환경에서도 외래키를

설정해줄 수 있다곤 하지만 오류가 나는 경우가 많아

손코딩을 추천한다고 한다. GUI 환경에서 얼추 완성하고

Apply 클릭하면 SQL문 화면 팝업창이 뜰 것이다.

이런 식으로. 구매 테이블에 외래키가

있으므로 우선 여기까지는 동일하게

GUI환경에서 만들어주고 Apply 단계까지

오면 아래와 같은 팝업창이 나온다.

왼쪽에서 오른쪽 화면과 같이 손코딩으로

직접 외래키를 지정해주는 것이다.

 

마지막 괄호 사이에 Enter를 치고 콤마를

붙인 뒤 한 줄만 더 적어주면 된다.

외래키 지정 - FOREIGN KEY(mem_id)

이게 memeber 테이블의 mem_id와

연결되어 있으므로 REFERENCES

member(mem_id)라고 추가해주면 된다.

 

 

SQL로 데이터베이스+테이블 만들기

DROP DATABASE IF EXISTS naver_db;
CREATE DATABASE naver_db;

만들고자 하는 DB가 기존에 있으면

오류를 발생하므로 우선 DROP DB부터

해주고 새로 데이터베이스를 생성한다.

USE naver_db;
DROP TABLE IF EXISTS member; -- 기존에 테이블이 있으면 삭제(이전에 DB를 삭제했기 때문에 없겠지만 그래도 불안하면 실행)
CREATE TABLE member; -- 회원 테이블 생성

TABLE 생성까지 마쳤으면 아래와 같이

다음 줄에 (괄호)열고 내가 만들고 싶은 만큼

열을 조건을 같이 붙여 만들어주면 된다.

# 회원 테이블
USE naver_db;
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) NULL,
  phone2		CHAR(8) NULL,
  height		TINYINT UNSIGNED NULL,
  debut_date		DATE NULL
);
# 구매 테이블
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) NULL,
  price		INT UNSIGNED NOT NULL,
  amount	SMALLINT UNSIGNED  NOT NULL,
  FOREIGN KEY(mem_id) REFERENCES member(mem_id)
);

The End.