데이터베이스 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
파일로 실행하는 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
'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 |
댓글