시스템 컨설턴트 그룹 신입교육 mysql

28
작작작 15 작 작작작 작작작 / 작작작작 SCG 작작작작작 14-03-08 작작작작 14 년 년년년년년 년 년년년 년년년년년 년년년년년년년 . 년년년년 작작작 작작작작 작작 작작작작 MySQL

Upload: jewell

Post on 25-Jan-2016

98 views

Category:

Documents


2 download

DESCRIPTION

시스템 컨설턴트 그룹 신입교육 MySQL. 작성자 15 기 한상우 소속팀 / 상위부서 SCG 작성년월일 14-03-08 문서분류 14 년 신입교육용. 이 문서는 나눔글꼴로 작성되었습니다 . 설치하기. 4 과제. 1 SQL 이란 ?. 1-1 데이터베이스 1-2 SQL 1-3 SQL 특징과 기능. 2 데이터베이스 접속. 목차. 2-1 데이터베이스 접속하기 2-2 데이터베이스 구조. 3 기본 명령어 ( 쿼리 ). 3-1 쿼리 종류 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 시스템 컨설턴트 그룹 신입교육 MySQL

작성자 15 기 한상우

소속팀 / 상위부서 SCG

작성년월일 14-03-08

문서분류 14 년 신입교육용

이 문서는 나눔글꼴로 작성되었습니다 . 설치하기

시스템 컨설턴트 그룹신입교육MySQL

Page 2: 시스템 컨설턴트 그룹 신입교육 MySQL

1-1 데이터베이스

1-2 SQL

1-3 SQL 특징과 기능

1 SQL 이란 ?

2 데이터베이스 접속

2-1 데이터베이스 접속하기

2-2 데이터베이스 구조

3 기본 명령어 ( 쿼리 )

3-1 쿼리 종류

3-2 데이터베이스 관련 쿼리

3-3 테이블 관련 쿼리

3-4 데이터 관련 쿼리

4 과제

시스템 컨설턴트 그룹 신입교육

목차

Page 3: 시스템 컨설턴트 그룹 신입교육 MySQL

Chapter 1

시스템 컨설턴트 그룹 신입교육

SQL 이란 ?

Page 4: 시스템 컨설턴트 그룹 신입교육 MySQL

1-1

4

SQL 이란 ? 1 데이터베이스

•공유 / 사용을 목적으로 통합 관리되는 정보의 집합

•자료의 중복 제거 / 구조화

•구조화로 인한 검색과 갱신의 효율화

Page 5: 시스템 컨설턴트 그룹 신입교육 MySQL

1-2

5

SQL 이란 ?

•SQL (Structured Query Language: 구조화된 질의 언어 )

•1970 년대 초에 IBM 에서 개발

•자료의 검색 / 관리뿐만 아니라 데이터베이스 생성 / 수정 및 접근 제어

2 SQL

Page 6: 시스템 컨설턴트 그룹 신입교육 MySQL

1-3

6

SQL 이란 ? 3 SQL 특징과 기능

1. 특징

• 이해하기 쉬운 형태로 표현

• 대화식 질의어로 사용가능

• 데이터 정의 , 데이터 조작 , 제어기능 제공

• COBOL, C, PASCAL 등의 언어에 삽입

• 비절차적 언어

2. 주요 기능

• Data 정의

• Data 검색

• Data 조작

• Data 공유

• 접근 제어

Page 7: 시스템 컨설턴트 그룹 신입교육 MySQL

Chapter 2

시스템 컨설턴트 그룹 신입교육

데이터베이스 접속

Page 8: 시스템 컨설턴트 그룹 신입교육 MySQL

2-1

8

데이터베이스

접속 http://pc.exor.kr:8081/phpmyadmin

1 접속하기

Page 9: 시스템 컨설턴트 그룹 신입교육 MySQL

2-2

9

데이터베이스

접속

2 데이터베이스 구조

데이터베이스 테이블 테이블 구조

필드명 필드

속성

Page 10: 시스템 컨설턴트 그룹 신입교육 MySQL

Chapter 3

시스템 컨설턴트 그룹 신입교육

기본 명령어 ( 쿼리 )

Page 11: 시스템 컨설턴트 그룹 신입교육 MySQL

3-1

11

기본 명령어 (

쿼리 )

1 명령어 종류

명칭 역할 명령어

DDL(Data Definition

Language)•데이터 구조 생성 / 변경 / 제거

CREATEDROPALTER

DML(Data Manipulation

Language)

•원하는 데이터의 검색•데이터베이스 이름 변경•데이터 및 저장공간 회수•데이터 삽입 / 삭제 / 수정

SELECTINSERTDELETEUPDATERENAME

DCL(Data Control Lan-

guage)•접근 권한 부여 / 제거 GRANT

REVOKE

TCL(Transaction Con-

trol Language)•DML 에 의한 변경 관리 COMMIT

ROLLBACK

Page 12: 시스템 컨설턴트 그룹 신입교육 MySQL

3-2

12

기본 명령어 (

쿼리 )

2 데이터베이스 관련 쿼리

• 새로운 데이터베이스 생성

CREATE DATABASE 데이터베이스명

• 모든 데이터베이스들을 보여준다

SHOW DATABASES;

• 해당 데이터베이스 제거

DROP DATABASE 데이터베이스명

• 해당 데이터베이스 선택

USE 데이터베이스명

Page 13: 시스템 컨설턴트 그룹 신입교육 MySQL

3-3

13

기본 명령어 (

쿼리 )

3 테이블 관련 쿼리

• 새로운 테이블 생성

Ex) CREATE TABLE student

(s_id int(10) not null

primary key,

name varchar(10) not

nulll,

city varchar(10) not

null,

age int(10) not null,

sex varchar(10) not

null);

CREATE TABLE 테이블명( 필드명 필드속성 , 필드명 필드속성 , 필드명 필드속성 ,

…);

Page 14: 시스템 컨설턴트 그룹 신입교육 MySQL

3-3

14

기본 명령어 (

쿼리 )

3 테이블 관련 쿼리

• 테이블 삭제

DROP TABLE 테이블명

• 테이블의 구조를 출력

DESCRIBE/DESC 테이블명

• 테이블의 구조를 변경

ALTER TABLE 테이블명

• … ADD 필드명 필드타입

필드 추가

Ex) ALTER TABLE student ADD tel

varchar(20);

Page 15: 시스템 컨설턴트 그룹 신입교육 MySQL

3-3

15

기본 명령어 (

쿼리 )

3 테이블 관련 쿼리

• … DROP 필드명

필드 제거

Ex) ALTER TABLE student DROP tel;

• … CHANGE 필드명 새필드명 필드속성

필드명과 속성 변경

Ex) ALTER TABLE student CHANGE sex tel int(10);

Page 16: 시스템 컨설턴트 그룹 신입교육 MySQL

3-3

16

기본 명령어 (

쿼리 )

3 테이블 관련 쿼리

• … MODIFY 필드명 필드속성

필드속성 변경

Ex) ALTER TABLE student MODIFY tel var-

char(20);

Page 17: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

17

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 테이블에 새로운 데이터 입력

Ex) INSERT INTO student

(s_id, name, city, age, tel)

VALUES

(2005313512, ‘ 홍길동’ , ‘Seoul’, 24,

‘01026541527’);

INSERT INTO 테이블명( 필드명 , 필드명 ,

필드명 )VALUES( 필드값 , 필드값 , 필드

값 );

실습

Page 18: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

18

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 데이터의 검색 , 수정 , 삭제시 조건을 붙일 때 사용

• 논리연산자 , 비교연산자 , SQL 연산자 사용가능

• 논리연산자 (AND, OR, NOT)

• 비교연산자 (=, <>, >, >=, <, <=)

• SQL 연산자 (IN, BETWEEN, LIKE, IS NULL, IS NOT NULL)

… WHERE 조건

Page 19: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

19

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 해당 테이블에서 조건에 맞는 데이터의 특정 필드값을 변경

Ex) UPDATE student SET

name = ‘ 홍이수’ ,

city = ‘Busan’,

age = 30

WHERE name = ‘ 홍길동’ ;

UPDATE 테이블명 SET필드명 = 필드값 ,필드명 = 필드값 ,필드명 = 필드값WHERE 조건

Page 20: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

20

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 해당 테이블에서 조건에 맞는 데이터를 삭제

Ex) DELETE FROM student WHERE age > 28;

DELETE FROM 테이블명 WHERE 조건

Page 21: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

21

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 해당 테이블에서 조건에 맞는 데이터를 검색

• WHERE 절이 안 붙을 경우 해당 테이블의 모든 데이터를 출력

• 필드명을 안 적고 * 를 적을 경우 모든 필드를 출력

Ex) SELECT * FROM student;

Ex) SELECT * FROM student WHERE name = ‘ 한준수’ ;

Ex) SELECT s_id, city, tel FROM student ;

SELECT 필드명 , 필드명 ,… FROM 테이블명 (WHERE 조건 )

Page 22: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

22

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 해당 테이블에서 조건에 맞는 데이터를 검색하되 특정 필드 명을

바꿔서 출력

Ex) SELECT s_id AS id, tel AS phone FROM student;

!!!! 실제 테이블 구조는 바뀌지 않는다 !!!!

SELECT 필드명 AS 새필드명 FROM 테이블명 (WHERE 조건 )

Page 23: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

23

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 조건의 맞는 데이터를 오름차순 / 내림차순으로 출력

Ex) SELECT * FROM student ORDER BY s_id DESC;

!!!! ASC/DESC 를 생략 할 경우 기본은 ASC 이다 !!!!

SELECT ( 필드명 , 필드명 ,…) FROM 테이블명 (WHERE 조건 ) ORDER BY 필드명 ASC/DESC

Page 24: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

24

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

• 서로 다른 테이블의 데이터를 같이 출력할 시 사용

• INNER JOIN, RIGHT JOIN, LEFT JOIN

• SELECT 문과 같이 사용한다

• WHERE 문 사용 가능

… JOIN … ON 조건

Page 25: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

25

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

Ex) SELECT * FROM student INNER JOIN class

ON student.s_id = class.s_id;

INNER JOIN

Ex) SELECT * FROM student RIGHT JOIN class

ON student.s_id = class.s_id;

RIGHT JOIN

Page 26: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

26

기본 명령어 (

쿼리 )

4 데이터 관련 쿼리

Ex) SELECT * FROM student LEFT JOIN class

ON student.s_id = class.s_id;

LEFT JOIN

Page 27: 시스템 컨설턴트 그룹 신입교육 MySQL

3-4

27

과제seq

item re-gion

*price

1 apple Seoul 1

2 banana Daegu 3

3 pineapple Busan 2

4 mango Ilsan 1

5 mango Seoul 1

6 mango Ulsan 3

7 pineapple Seoul 1

8 banana Incheon 2

9 banana Busan 3

10 pineapple Gunsan 2

11 apple Gunsan 2

12 melon Seoul 4

seq item cost

1 apple 1000

2 banana 1500

3 pineapple 4000

4 melon 3500

region cost

region 테이블과 cost 테이블을 만든 뒤 위의 데이터를 입력하세요

item 필드에 관하여 LEFT JOIN 하여 결과를 스크린샷으로 보내주세요

E-mail: [email protected] ( 목요일 오 후 6 시까지 )

3/25 오후 10:00 추신 ( 읽어주세요 )

P.S. 현재 서버 권한이 다시 원상 복귀되어 데이터베이스 생성이 불가합니다 . 기존에 신입분들이 만드신

데이터베이스도 삭제되었고요 . 그러니 scg_study 데이터베이스에 임의의 테이블 2 개를 생성하셔서

위에 데이터를 입력하신 뒤 left join 하신 결과를 보내주시면 됩니다 .

Page 28: 시스템 컨설턴트 그룹 신입교육 MySQL

이 문서는 나눔글꼴로 작성되었습니다 . 설치하기

감사합니다 .