• 검색 결과가 없습니다.

Jinseog Kim Dongguk University [email protected] MySQL- 기초 1

N/A
N/A
Protected

Academic year: 2022

Share "Jinseog Kim Dongguk University [email protected] MySQL- 기초 1"

Copied!
18
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

MySQL-기초 1

Jinseog Kim Dongguk University [email protected]

(2)

SQL은 아래의 용도로 구성됨

데이터정의 언어(Data definition Language: DDL) : 데이터의 저장구조를 정의하는 언어로 스키마 정의 수정, 삭제하는 명령문과 인덱스의 생성 및 삭제 데이터조작 언어(Data Manipulation Language: DML) : 데이터에 접근 및 조작하는 언어로 튜플의 검색, 삽입, 삭제 수정과 같은 명령문

SQL의 기초

(3)

SHOW DATABASES;

데이터베이스 리스트 출력

(4)

CREATE DATABASE [db_name];

이 문장을 실행하면 MySQL data 디렉토리에 db_name이란 서브디렉토리가 생성된다.

만일 같은 이름의 data base디렉토리가 있으면 에러메시지를 내보낸다.

(예) 새로운 database world를 만들고, 이를 handling하기 위한 명령문은 다음과 같다.

CREATE DATABASE world;

USE world;

데이터베이스 생성

(5)

DROP DATABASE [IF EXISTS] db_name

DROP DATABASE

IF EXISTS: 삭제하려는 데이터베이스가 없는 경우에 에러메시지를 막아줌

데이터베이스 삭제

(6)

문자셋(Character Set): 문자의 인코딩 규칙이 정의된 집합 (ASCII, EUC-KR, UTF-8 등)

콜레이션(Collation): 문자셋으로 인코딩된 문자들간 비교시 사용하는 규칙집합

데이터베이스 생성시 character set과 collation을 지정하는 방법:

CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

DATABASE: 한글처리

(7)

CREATE TABLE mytbl(

테이블 정의문;

... ...

) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

테이블 생성시 한글 처리

(8)

외부 파일에서 입력: LOAD DATA 구문의 이용 레코드 단위의 입력: INSERT 문 사용

테이블에 자료입력

(9)

LOAD DATA LOCAL INFILE "file_name" INTO TABLE tbl_name;

FIELDS TERMINATED BY ","

... ;

FIELDS TERMINATED BY “,” : 컬럼간 구분자 표시

외부 파일에서 입력: LOAD DATA

(10)

Fluffy Harold cat f 1993-02-04 \N Claws Gwen cat m 1994-03-17 \N Buffy Harold dog f 1989-05-13 \N Fang Benny dog m 1990-08-27 \N

Bowser Dianne dog m 1998-08-31 1995-07-29 Chirpy Gwen bird f 1998-09-11 \N

Whistler Gwen bird \N 1997-12-09 \N Slim Benny snake m 1996-04-29 \N

예제 데이터(외부 데이터 파일)

(11)

CREATE TABLE pet(

name VARCHAR(20) NOT NULL PRIMARY KEY, owner VARCHAR(20),

species VARCHAR(20), sex VARCHAR(1), birth DATE, death DATE );

테이블 생성

(12)

INSERT INTO pet VALUES('Puffball','Diane','hamster','f',' INSERT INTO pet VALUES('Fluffy','Harold','cat','f','1993-02-04', INSERT INTO pet VALUES('Claws','Gwen','cat','m','1994-03-17',NULL ...

1999-03-30' NULL

);

레코드 단위 입력

(13)

LOAD DATA LOCAL INFILE "/home/jskim/tmp/pet.txt" INTO TABLE pet FIELDS TERMINATED BY "\t";

외부파일을 이용한 입력

(14)

CREATE TABLE test_db.news(

journal VARCHAR(20) NOT NULL, title VARCHAR(200), pub_date DATE,

reporter VARCHAR(20), contents text

);

뉴스 테이블 생성

(15)

엑셀 데이터 변환

기사내용의 줄나눔(개행) 문자를 공백으로 치환 탭구분 텍스트 파일로 저장

Linux에서는 한글 인코딩 UFT-8로 변환 아래의 SQL구문 사용

LOAD DATA LOCAL INFILE INTO TABLE test_db.news;

/* FIELDS TERMINATED BY "\t"

LINES TERMINATED BY "EOL\n";*/

SELECT journal FROM test_db.news LIMIT 10;

"/var/www/lectures/2016-2/DB/news-tab-utf8

외부파일을 이용한 입력

(16)

SELECT journal FROM test_db.news LIMIT 10;

SELECT title FROM test_db.news LIMIT 50;

SELECT journal, title, pub_date, reporter FROM test_db.news SELECT contents FROM test_db.news LIMIT 2;

LIMIT

조회

(17)

head(iris, 2)

## Sepal.Length Sepal.Width Petal.Length Petal.Width Species

## 1 5.1 3.5 1.4 0.2 setosa

## 2 4.9 3.0 1.4 0.2 setosa

write.table(iris, file="H:/lectures/2016-2/DB/iris.csv", sep=",", col.names = FALSE,

row.names = FALSE, quote=FALSE)

R iris data

(18)

CREATE TABLE test_db.iris(

Sepal_Length DOUBLE, Sepal_Width DOUBLE, Petal_Length DOUBLE, Petal_Width DOUBLE, Species VARCHAR(20), );

“Sepal.Length” “Sepal.Width” “Petal.Length” “Petal.Width” “Species” ## R iris data

LOAD DATA LOCAL INFILE "C:/tmp/iris.csv" INTO TABLE FIELDS TERMINATED BY ",";

test_db.iris

iris 테이블 생성

참조

관련 문서