새소식

Database/MySQL

MySQL 파일로 실행

  • -

1. sql 파일 Load

students.sql 이라는 파일에는 다음과 같은 내용이 작성되어 있다.

 

데이터베이스 생성

CREATE DATABASE student_mgmt DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DEFAULT CHARSET = utf8
문자 인코딩과 관련된 설정: 한글 데이터의 정확한 처리를 위해 데이터베이스/테이블 생성 시 추가
COLLATE = utf8_bin
Collation은 특정 문자 셋에 의해 데이터베이스에 저장된 값들을 비교 검색하거나 정렬 등의 작업을 위해 문자들을 서로 비교할 때 사용하는 규칙

 

테이블 생성

USE student_mgmt
DROP TABLE IF EXIST 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;
ENUM 타입: 특정 값만 저장할 수 있도록 저장 가능 값을 지정해주는 타입
ENGINE=InnoDB : 스토리지 엔진을 정해주는 명령어 (최근 MySQL은 디폴트로 InnoDB 사용)
데이터베이스와 마찬가지로 테이블을 만들때도 DEFAULT CHARET=utf8 설정

 

데이터 입력

INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('kim', 'man', '1998-02-16', 90, 80, 71);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('lee', 'woman', '1995-10-16', 30, 88, 60);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('park', 'man', '1993-12-10', 78, 77, 30);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('sung', 'man', '1998-11-1', 45, 66, 20);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('choi', 'man', '1997-11-12', 65, 32, 90);
INSERT INTO students (name, gender, birth, english, math, korean) VALUES ('No', 'woman', '1996-1-13', 76, 30, 80);

터미널 환경에서 students.sql파일을 실행

mysql -u root -p

// SOURCE 파일경로
SOURCE C:\Users\korea\OneDrive\sql_file\students.sql

// 잘 실행되었는지 확인
use student_mgmt;
select * from students;

 

 


2.  CSV 파일 Load

터미널 환경에서 다음과 같이 명령어 실행

LOAD DATA INFILE 'CSV 데이터 파일' INTO TABLE student_mgmt.students (name, gender, birth, english, math, korean);

 

728x90

'Database > MySQL' 카테고리의 다른 글

MySQL_크롤링 후 데이터베이스에 저장  (0) 2022.04.19
MySQL_Foreign key  (0) 2022.04.11
PyMySQL  (0) 2022.04.11
MySQL DCL  (0) 2022.04.10
MySQL Workbench DML  (0) 2022.04.10
Contents