3 기본 명령어(쿼리)

Download Report

Transcript 3 기본 명령어(쿼리)

시스템 컨설턴트 그룹
신입교육
MySQL
15기 한상우
SCG
14-03-08
14년 신입교육용
이 문서는 나눔글꼴로 작성되었습니다. 설치하기
목차
1 SQL 이란?
3 기본 명령어(쿼리)
1-1 데이터베이스
3-1 쿼리 종류
1-2 SQL
3-2 데이터베이스 관련 쿼리
1-3 SQL 특징과 기능
3-3 테이블 관련 쿼리
3-4 데이터 관련 쿼리
2 데이터베이스 접속
2-1 데이터베이스 접속하기
2-2 데이터베이스 구조
4 과제
SQL이란?
1-1
SQL이란?
1 데이터베이스
•공유/사용을 목적으로 통합 관리되는 정보의 집합
•자료의 중복 제거/구조화
•구조화로 인한 검색과 갱신의 효율화
1-2
SQL이란?
2 SQL
•SQL (Structured Query Language: 구조화된 질의 언어)
•1970년대 초에 IBM에서 개발
•자료의 검색/관리뿐만 아니라 데이터베이스 생성/수정 및 접근 제어
1-3
SQL이란?
3 SQL 특징과 기능
1. 특징
•
이해하기 쉬운 형태로 표현
•
대화식 질의어로 사용가능
•
데이터 정의, 데이터 조작, 제어기능 제공
•
COBOL, C, PASCAL 등의 언어에 삽입
•
비절차적 언어
2. 주요 기능
•
Data 정의
•
Data 검색
•
Data 조작
•
Data 공유
•
접근 제어
데이터베이스 접속
2-1
데이터베이스
접속
1 접속하기
http://pc.exor.kr:8081/phpmyadmin
2-2
데이터베이스
2 데이터베이스 구조
접속
데이터베이스
테이블
테이블 구조
필드명
필드 속성
기본 명령어(쿼리)
3-1
기본 명령어(쿼리)
1 명령어 종류
명칭
DDL
(Data Definition
Language)
DML
(Data Manipulation
Language)
DCL
(Data Control
Language)
TCL
(Transaction Control
Language)
역할
명령어
•데이터 구조 생성/변경/제거
CREATE
DROP
ALTER
•원하는 데이터의 검색
•데이터베이스 이름 변경
•데이터 및 저장공간 회수
•데이터 삽입/삭제/수정
SELECT
INSERT
DELETE
UPDATE
RENAME
•접근 권한 부여/제거
GRANT
REVOKE
•DML에 의한 변경 관리
COMMIT
ROLLBACK
3-2
기본 명령어(쿼리)
2 데이터베이스 관련 쿼리
CREATE DATABASE 데이터베이스명
•
새로운 데이터베이스 생성
DROP DATABASE 데이터베이스명
•
해당 데이터베이스 제거
USE 데이터베이스명
•
해당 데이터베이스 선택
SHOW DATABASES;
•
모든 데이터베이스들을 보여준다
3-3
기본 명령어(쿼리)
3 테이블 관련 쿼리
CREATE TABLE 테이블명
(필드명 필드속성,
필드명 필드속성,
필드명 필드속성, …);
•
새로운 테이블 생성
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);
3-3
기본 명령어(쿼리)
3 테이블 관련 쿼리
DROP TABLE 테이블명
•
테이블 삭제
DESCRIBE/DESC 테이블명
•
테이블의 구조를 출력
ALTER TABLE 테이블명
•
테이블의 구조를 변경
•
… ADD 필드명 필드타입
필드 추가
Ex) ALTER TABLE student ADD tel varchar(20);
3-3
기본 명령어(쿼리)
3 테이블 관련 쿼리
•
… DROP 필드명
필드 제거
Ex) ALTER TABLE student DROP tel;
•
… CHANGE 필드명 새필드명 필드속성
필드명과 속성 변경
Ex) ALTER TABLE student CHANGE sex tel int(10);
3-3
기본 명령어(쿼리)
3 테이블 관련 쿼리
•
… MODIFY 필드명 필드속성
필드속성 변경
Ex) ALTER TABLE student MODIFY tel varchar(20);
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
INSERT INTO 테이블명
(필드명, 필드명, 필드명)
VALUES
(필드값, 필드값, 필드값);
•
테이블에 새로운 데이터 입력
Ex) INSERT INTO student
(s_id, name, city, age, tel)
VALUES
(2005313512, ‘홍길동’, ‘Seoul’, 24, ‘01026541527’);
실습
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
… WHERE 조건
•
데이터의 검색, 수정, 삭제시 조건을 붙일 때 사용
•
논리연산자, 비교연산자, SQL연산자 사용가능
•
논리연산자 (AND, OR, NOT)
•
비교연산자 (=, <>, >, >=, <, <=)
•
SQL연산자(IN, BETWEEN, LIKE, IS NULL, IS NOT NULL)
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
UPDATE 테이블명 SET
필드명 = 필드값,
필드명 = 필드값,
필드명 = 필드값
WHERE 조건
•
해당 테이블에서 조건에 맞는 데이터의 특정 필드값을 변경
Ex) UPDATE student SET
name = ‘홍이수’,
city = ‘Busan’,
age = 30
WHERE name = ‘홍길동’;
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
DELETE FROM 테이블명 WHERE 조건
•
해당 테이블에서 조건에 맞는 데이터를 삭제
Ex) DELETE FROM student WHERE age > 28;
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
SELECT 필드명,필드명,… FROM 테이블명 (WHERE 조건)
•
해당 테이블에서 조건에 맞는 데이터를 검색
•
WHERE 절이 안 붙을 경우 해당 테이블의 모든 데이터를 출력
•
필드명을 안 적고 * 를 적을 경우 모든 필드를 출력
Ex) SELECT * FROM student;
Ex) SELECT * FROM student WHERE name = ‘한준수’;
Ex) SELECT s_id, city, tel FROM student ;
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
SELECT 필드명 AS 새필드명 FROM 테이블명 (WHERE 조건)
•
해당 테이블에서 조건에 맞는 데이터를 검색하되 특정 필드 명을 바꿔
서 출력
Ex) SELECT s_id AS id, tel AS phone FROM student;
!!!! 실제 테이블 구조는 바뀌지 않는다 !!!!
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
SELECT (필드명,필드명,…) FROM 테이블명 (WHERE 조건)
ORDER BY 필드명 ASC/DESC
•
조건의 맞는 데이터를 오름차순/내림차순으로 출력
Ex) SELECT * FROM student ORDER BY s_id DESC;
!!!! ASC/DESC를 생략 할 경우 기본은 ASC이다 !!!!
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
… JOIN … ON 조건
•
서로 다른 테이블의 데이터를 같이 출력할 시 사용
•
INNER JOIN, RIGHT JOIN, LEFT JOIN
•
SELECT 문과 같이 사용한다
•
WHERE 문 사용 가능
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
INNER JOIN
Ex) SELECT * FROM student INNER JOIN class
ON student.s_id = class.s_id;
RIGHT JOIN
Ex) SELECT * FROM student RIGHT JOIN class
ON student.s_id = class.s_id;
3-4
기본 명령어(쿼리)
4 데이터 관련 쿼리
LEFT JOIN
Ex) SELECT * FROM student LEFT JOIN class
ON student.s_id = class.s_id;
3-4
region
과제
cost
seq
item
region
*price
seq
item
cost
1
apple
Seoul
1
1
apple
1000
2
banana
Daegu
3
2
banana
1500
3
pineapple
Busan
2
3
pineapple
4000
4
mango
Ilsan
1
4
melon
3500
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
region 테이블과 cost 테이블을 만든 뒤 위의 데이터를 입력하세요
item 필드에 관하여 LEFT JOIN하여 결과를 스크린샷으로 보내주세요
E-mail: [email protected] (목요일 오 후 6시까지)
3/25 오후 10:00 추신(읽어주세요)
P.S. 현재 서버 권한이 다시 원상 복귀되어 데이터베이스 생성이 불가합니다. 기존에 신입분들이 만드신 데이터베이스
도 삭제되었고요. 그러니 scg_study 데이터베이스에 임의의 테이블 2개를 생성하셔서 위에 데이터를 입력하신 뒤
left join 하신 결과를 보내주시면 됩니다.
감사합니다.
이 문서는 나눔글꼴로 작성되었습니다. 설치하기