본문 바로가기
Database

MySQL - 파일로 실행하는 SQL

by DGK 2021. 11. 10.

 

데이터베이스 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

파일로 실행하는 SQL(MySQL)

파일로 SQL을 실행하고, table에 data를 한 번에 입력하는 방법을 연습하고자 한다.

 

파일로 SQL 실행

 

mysql Workbench에서 SQL 파일(student.sql)을 불러온 후, SQL 코드를 실행하는 방법이다.

  • Worklbench File -> Open SQL Script -> student.sql file 

 

DROP DATABASE IF EXISTS student_mgmt;
CREATE DATABASE student_mgmt DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

USE student_mgmt;
DROP TABLE IF EXISTS students;
CREATE TABLE students (
  id TINYINT NOT NULL AUTO_INCREMENT,
  name VARCHAR(10) NOT NULL,
  gender ENUM('man','woman') NOT NULL,
  birth DATE NOT NULL,
  english TINYINT NOT NULL,
  math TINYINT NOT NULL,
  korean TINYINT NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('dave', 'man', '1983-07-16', 90, 80, 71);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('minsun', 'woman', '1982-10-16', 30, 88, 60);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('david', 'man', '1982-12-10', 78, 77, 30);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('jade', 'man', '1979-11-1', 45, 66, 20);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('jane', 'man', '1990-11-12', 65, 32, 90);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('wage', 'woman', '1982-1-13', 76, 30, 80);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('tina', 'woman', '1982-12-3', 87, 62, 71);

SELECT * FROM students;

 

```

결과 :

```

 

*참고

 

1. DEFAULT CHARSET = utf8 코드는 문자 인코딩(문자셋)과 관련된 설정으로 한글 데이터의 정확한 처리를 위해, 

   데이터베이스/테이블 생성 시에 추가할 것을 권장한다. 여기서 문자셋(Character set)은 각 문자가 컴퓨터에 저장될 때,

   어떠한 '코드'로 저장될 지에 대한 규칙의 집합을 의미한다. 

2. COLLATE = utf_bin 코드는 특정 문자 셋에 의해 데이터베이스에 저장된 값들을 비교 검색하거나 정렬 등의 작업을 위해,

    문자들을 서로 '비교'할 때 사용하는 규칙들의 집합을 의미한다.

3. ENUM 타입은 특정 값만 저장할 수 있도록 저장 가능 값을 지정해주는 데이터 타입이다.

4. ENGINE = InnoDB 코드는 여러 가지의 스토리지 엔진 중 InnoDB로 스토리지 엔진을 정해주는 명령 코드이다.

    참고로, 이 명령을 안해줘도 최근 Mysql 버전은 디폴트 값으로 InnoDB엔진을 사용한다.

5. 테이블을 만들 때에도 DEFAULT CHARSET = utf8의 코드를 사용하여 인코딩 해주는 것을 권장한다. 

 

 

테이블에 데이터 한 번에 입력하기

 

mysql Workbench에서 CSV 파일에 저장된 데이터를 테이블에 (한 번에)입력하는 방법(순서)이다. 

  • Schemas -> student_mgmt database 선택 -> Go to Tables -> Students -> Table Data Import Wizard
  • -> test.csv File 선택 -> Source Column/Dest Column 설정 -> Import

 

 

 

 

 

 

 

 

 

*참고

 

CSV file

csv file

 

'Database' 카테고리의 다른 글

MySQL - Foreign Key  (0) 2021.11.11
MySQL - pandas & pymysql 라이브러리  (0) 2021.11.10
MySQL - 파이썬으로 다루는 MySQL  (0) 2021.11.10
MySQL - SQL 기초 문법(2)  (0) 2021.11.06
MySQL - SQL 기초 문법(1)  (0) 2021.11.05

댓글