기본 SQL 실습
문양세
( 문성우 , 손시운 )
APM 설치
테이블 정의 ( 생성 )
MySQL 백업 및 복원
기본 검색 질의
삽입 , 삭제 , 갱신문
2
APM 설치 요약
APM(Apache+PHP+MySQL) 을 설치한다 .
관련 사이트
① 강의자료 사이트에서 다운로드
(http://cs.kangwon.ac.kr/~ysmoon/zips/APMSETUP7_2010010300.exe )
②
혹은 이루리 사이트에서 다운로드APM Setup 절차 (1/5)
4
APM Setup 절차 (2/5)
APM Setup 절차 (3/5)
6
APM Setup 절차 (4/5)
APM Setup 절차 (5/5)
8
port 충돌 오류 해결 방법 (1/3)
C:\ProgramData\MySQL\MySQL Server 5.6 또는C:\Users\All Users\MySQL\MySQL Server 5.6
port 충돌 오류 해결 방법 (2/3)
10
port 충돌 오류 해결 방법 (3/3)
Ctrl + F
port = 3309
APM 디렉토리 살펴보기 (1/3)
12
APM 디렉토리 살펴보기 (2/3)
APM 디렉토리 살펴보기 (3/3)
14
APM 환경 설정 (1/2)
APM 환경 설정 (2/2)
16
APM 설치 확인
1. 메모장을 열어 다음과 같이 간단한 형식의 PHP 파일 (test.php) 을 작성한다 .
<? Phpinfo(); ?>
2. 위에서 지정한
“ C:/APM_Setup/htdocs” 에 PHP 파일을 저장한다 .
3. 웹 브라우저에서 http://127.0.0.1/test.php 를 입력하여 PHP 버전 등의 정보 가 정상적으로 출력되면 바르게 설치된 것이다 .
APM 설치
테이블 정의 ( 생성 )
MySQL 백업 및 복원
기본 검색 질의
삽입 , 삭제 , 갱신문
18
MySQL 관리
apmsetup
데이터베이스 정의 (1/2)
20
데이터베이스 정의 (2/2)
COMPANY 데이터베이스
22
테이블 정의 (1/2)
테이블 정의 (2/2)
24
데이터 입력 (1/2)
데이터 입력 (2/2)
26
여러 데이터 입력
APM 설치
테이블 정의 ( 생성 )
MySQL 백업 및 복원
기본 검색 질의
삽입 , 삭제 , 갱신문
28
데이터베이스 백업 (1/3)
APM 설치 경로 아래에 MySQL5 의 bin 디렉터리로 이동
– mysqldump.exe 파일이 있는지 확인
데이터베이스 백업 (2/3)
bin 디렉터리 경로를 복사
명령 프롬프트를 사용해 복사한 경로로 이동
> cd /D E:\APM_Setup\Server\MySQL5\bin
dir 로 mysqldump.exe 파일 확인
30
데이터베이스 백업 (3/3)
mysqldump.exe 를 사용하여 백업 파일 생성
> mysqldump.exe -u root -p Company > Company.sql
확인
계정 명 DB 명 백업 파일 비밀번호 (apmsetup)
데이터베이스 복원 (1/3)
MySQL 관리 페이지 실행
– Company 데이터베이스가 없음
Company 데이터베이스 생성
32
데이터베이스 복원 (2/3)
데이터베이스 백업 파일을 bin 디렉터리로 이동
명령 프롬프트를 사용해 bin 디렉터리로 이동
> cd /D E:\APM_Setup\Server\MySQL5\bin
데이터베이스 복원 (3/3)
mysql.exe 파일로 데이터베이스 복원
데이터베이스 확인
계정 명 DB 명 백업 파일 비밀번호 (apmsetup)
34
APM 설치
테이블 정의 ( 생성 )
MySQL 백업 및 복원
기본 검색 질의
삽입 , 삭제 , 갱신문
SELECT-FROM-WHERE 예제 (1/2)
질의 1
• ‘Research’ 부서에서 일하는 모든 사원의 이름 (FNAME, LNAME) 과 주소를 검색
36
SELECT-FROM-WHERE 예제 (2/2)
질의 2
• ‘Stafford’ 에 위치한 모든 프로젝트에 대하여 프로젝트 번호 , 담당부서 번호 , 부서관리자의 성 , 주소 , 생일을 검색
모호한 애트리뷰트 이름과 별명 사용
질의 8
• 종업원에 대해 , 종업원의 성과 이름 , 직속감독자의 성과 이름을 검색
38
WHERE 의 생략과 '' 의 사용 (1/4)
질의 9
• 데이터베이스에서 EMPLOYEE 의 모든 SSN 을 검색
WHERE 의 생략과 '' 의 사용 (2/4)
질의 1C
• 5 번 DEPARTMENT 에서 일하는 EMPLOYEE 투플들의 모든 애트리뷰트 값들을 검색
40
WHERE 의 생략과 '' 의 사용 (3/4)
질의 1D
• ‘Research’ 부서에서 일하는 모든 종업원들에 대하여 EMPLOYEE 의 모든 애트리뷰트들과 DEPARTMENT 의 모든 애트리뷰트들을 검색하라 .
WHERE 의 생략과 '' 의 사용 (4/4)
질의 10A
• 릴레이션 EMPLOYEE 와 DEPARTMENT 의 카티션 프로덕트 결과를 모두 검색
42
SQL 에서 집합으로서의 테이블 (1/2)
질의 11
• 모든 사원의 급여를 검색 (ALL 생략 가능 )
SQL 에서 집합으로서의 테이블 (2/2)
질의 4A
• 성이 ‘ Smith’ 인 종업원 ( 일반 직원 혹은 프로젝트를 담당하는 부서의 관리자 ) 이 참여하는 프로젝트의 프로젝트 번호 목록을 작성
44
부분 문자열 패턴 비교와 산술 연산자 (1/2)
질의 12A
• 1950 년대에 태어난 모든 사원을 검색
부분 문자열 패턴 비교와 산술 연산자 (2/2)
질의 13
• ‘ProductX’ 프로젝트에 참여하는 모든 사원의 급여를 10% 올린 경우의 급여를 검색
46
질의 결과의 정렬
질의 15
• 프로젝트에 참여하는 종업원을 부서의 알파벳 순서대로 , 각 부서 내에서는 성 과 이름의 알파벳 순서대로 출력
APM 설치
테이블 정의 ( 생성 )
MySQL 백업 및 복원
기본 검색 질의
삽입 , 삭제 , 갱신문
48
삽입하는 투플 값은 CREATE TABLE 명령에서 지정한 애트리뷰트 순서와 동일하게 지정
INSERT 구문 (1/3)
SELECT 와 결합된 INSERT 명령
INSERT 구문 (2/3)
50
INSERT 구문 (3/3) - 생략
무결성 조건
– MySQL 에서는 성능 문제상 지원하지 않음
UPDATE 구문 (1/2)
PROJECT 테이블에서 PNUMBER 가 10 인 투플에 대하여 PLOCATIO N 을 ‘ Bellaire’ 로 변경하고 , 담당 부서인 DNUM 을 5 로 변경하라 .
Before After
52
UPDATE 구문 (2/2)
‘Research’ 부서 (DNO=5) 에 있는 모든 종업원들의 봉급을 10% 인상
DELETE 구문 (1/2)
한번의 DELETE 명령으로 WHERE 절의 조건을 만족하는 투플을 모두 삭제
54