작작작 15 작 작작작 작작작 / 작작작작 SCG 작작작작작 14-03-08 작작작작 14 년 년년년년년 년 년년년 년년년년년 년년년년년년년 . 년년년년 작작작 작작작작 작작 작작작작 MySQL
Jan 25, 2016
작성자 15 기 한상우
소속팀 / 상위부서 SCG
작성년월일 14-03-08
문서분류 14 년 신입교육용
이 문서는 나눔글꼴로 작성되었습니다 . 설치하기
시스템 컨설턴트 그룹신입교육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 과제
시스템 컨설턴트 그룹 신입교육
목차
Chapter 1
시스템 컨설턴트 그룹 신입교육
SQL 이란 ?
1-1
4
SQL 이란 ? 1 데이터베이스
•공유 / 사용을 목적으로 통합 관리되는 정보의 집합
•자료의 중복 제거 / 구조화
•구조화로 인한 검색과 갱신의 효율화
1-2
5
SQL 이란 ?
•SQL (Structured Query Language: 구조화된 질의 언어 )
•1970 년대 초에 IBM 에서 개발
•자료의 검색 / 관리뿐만 아니라 데이터베이스 생성 / 수정 및 접근 제어
2 SQL
1-3
6
SQL 이란 ? 3 SQL 특징과 기능
1. 특징
• 이해하기 쉬운 형태로 표현
• 대화식 질의어로 사용가능
• 데이터 정의 , 데이터 조작 , 제어기능 제공
• COBOL, C, PASCAL 등의 언어에 삽입
• 비절차적 언어
2. 주요 기능
• Data 정의
• Data 검색
• Data 조작
• Data 공유
• 접근 제어
Chapter 2
시스템 컨설턴트 그룹 신입교육
데이터베이스 접속
2-1
8
데이터베이스
접속 http://pc.exor.kr:8081/phpmyadmin
1 접속하기
2-2
9
데이터베이스
접속
2 데이터베이스 구조
데이터베이스 테이블 테이블 구조
필드명 필드
속성
Chapter 3
시스템 컨설턴트 그룹 신입교육
기본 명령어 ( 쿼리 )
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
3-2
12
기본 명령어 (
쿼리 )
2 데이터베이스 관련 쿼리
• 새로운 데이터베이스 생성
CREATE DATABASE 데이터베이스명
• 모든 데이터베이스들을 보여준다
SHOW DATABASES;
• 해당 데이터베이스 제거
DROP DATABASE 데이터베이스명
• 해당 데이터베이스 선택
USE 데이터베이스명
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 테이블명( 필드명 필드속성 , 필드명 필드속성 , 필드명 필드속성 ,
…);
3-3
14
기본 명령어 (
쿼리 )
3 테이블 관련 쿼리
• 테이블 삭제
DROP TABLE 테이블명
• 테이블의 구조를 출력
DESCRIBE/DESC 테이블명
• 테이블의 구조를 변경
ALTER TABLE 테이블명
• … ADD 필드명 필드타입
필드 추가
Ex) ALTER TABLE student ADD tel
varchar(20);
3-3
15
기본 명령어 (
쿼리 )
3 테이블 관련 쿼리
• … DROP 필드명
필드 제거
Ex) ALTER TABLE student DROP tel;
• … CHANGE 필드명 새필드명 필드속성
필드명과 속성 변경
Ex) ALTER TABLE student CHANGE sex tel int(10);
3-3
16
기본 명령어 (
쿼리 )
3 테이블 관련 쿼리
• … MODIFY 필드명 필드속성
필드속성 변경
Ex) ALTER TABLE student MODIFY tel var-
char(20);
3-4
17
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
• 테이블에 새로운 데이터 입력
Ex) INSERT INTO student
(s_id, name, city, age, tel)
VALUES
(2005313512, ‘ 홍길동’ , ‘Seoul’, 24,
‘01026541527’);
INSERT INTO 테이블명( 필드명 , 필드명 ,
필드명 )VALUES( 필드값 , 필드값 , 필드
값 );
실습
3-4
18
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
• 데이터의 검색 , 수정 , 삭제시 조건을 붙일 때 사용
• 논리연산자 , 비교연산자 , SQL 연산자 사용가능
• 논리연산자 (AND, OR, NOT)
• 비교연산자 (=, <>, >, >=, <, <=)
• SQL 연산자 (IN, BETWEEN, LIKE, IS NULL, IS NOT NULL)
… WHERE 조건
3-4
19
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
• 해당 테이블에서 조건에 맞는 데이터의 특정 필드값을 변경
Ex) UPDATE student SET
name = ‘ 홍이수’ ,
city = ‘Busan’,
age = 30
WHERE name = ‘ 홍길동’ ;
UPDATE 테이블명 SET필드명 = 필드값 ,필드명 = 필드값 ,필드명 = 필드값WHERE 조건
3-4
20
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
• 해당 테이블에서 조건에 맞는 데이터를 삭제
Ex) DELETE FROM student WHERE age > 28;
DELETE FROM 테이블명 WHERE 조건
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 조건 )
3-4
22
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
• 해당 테이블에서 조건에 맞는 데이터를 검색하되 특정 필드 명을
바꿔서 출력
Ex) SELECT s_id AS id, tel AS phone FROM student;
!!!! 실제 테이블 구조는 바뀌지 않는다 !!!!
SELECT 필드명 AS 새필드명 FROM 테이블명 (WHERE 조건 )
3-4
23
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
• 조건의 맞는 데이터를 오름차순 / 내림차순으로 출력
Ex) SELECT * FROM student ORDER BY s_id DESC;
!!!! ASC/DESC 를 생략 할 경우 기본은 ASC 이다 !!!!
SELECT ( 필드명 , 필드명 ,…) FROM 테이블명 (WHERE 조건 ) ORDER BY 필드명 ASC/DESC
3-4
24
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
• 서로 다른 테이블의 데이터를 같이 출력할 시 사용
• INNER JOIN, RIGHT JOIN, LEFT JOIN
• SELECT 문과 같이 사용한다
• WHERE 문 사용 가능
… JOIN … ON 조건
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
3-4
26
기본 명령어 (
쿼리 )
4 데이터 관련 쿼리
Ex) SELECT * FROM student LEFT JOIN class
ON student.s_id = class.s_id;
LEFT JOIN
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 하신 결과를 보내주시면 됩니다 .