Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 강. 1.MYSQL 이란 ? MySQL 서버란 데이터를 관리해 주는 서버프로그램이다. mysql 은 MySQL 서버에 접속하여서 사용자가 명령을 입력할 수 있게 해주는 클라이언트 프로그램이다. MySQL 주요 기능 Kernel threads 를 이용, 완벽한 multi-threaded.

Similar presentations


Presentation on theme: "1 강. 1.MYSQL 이란 ? MySQL 서버란 데이터를 관리해 주는 서버프로그램이다. mysql 은 MySQL 서버에 접속하여서 사용자가 명령을 입력할 수 있게 해주는 클라이언트 프로그램이다. MySQL 주요 기능 Kernel threads 를 이용, 완벽한 multi-threaded."— Presentation transcript:

1 1 강

2 1.MYSQL 이란 ? MySQL 서버란 데이터를 관리해 주는 서버프로그램이다. mysql 은 MySQL 서버에 접속하여서 사용자가 명령을 입력할 수 있게 해주는 클라이언트 프로그램이다. MySQL 주요 기능 Kernel threads 를 이용, 완벽한 multi-threaded 를 지원 한다.( 복수 CPU 지원 가능 ) C, C++, JAVA, Perl, Python, TCL 의 API 를 지원한다. 수많은 운영체제에서 안정적으로 동작한다.

3 2. 설치 1) 설치 정보 (Linux) 1] RPM 으로 설치하기 2] 타볼 소스로 설치하기

4 2. 설치 2) 설치 정보 (Windows) 파일을 다운 받은 (mysql-3.23.39a-win.zip) 파일을 풀어준 후 setup 한다.

5 2 강

6 1. 설치 확인 1) 리눅스인 경우

7 1. 설치 확인 2) Windows 의 경우

8 2. MYSQL 에 접속하기 1) 리눅스의 경우

9 2. MYSQL 에 접속하기 2) Windows 의 경우 [step 1] MYSQL 접속 [step 2] 현재 MySQL 에 존재하는 데이터베이스를 확인 [step 3] mysql 데이터베이스를 사용한다고 선언하였다. 그런 후에 "show tables" 라는 명령어로 mysql 데이터베 이스에 존재하는 테이블들을 확인

10 3. 계정 생성 1) 사용자 암호 지정하기 root 사용자에 대하여 암호를 설정

11 3. 계정 생성 2) 사용자 추가하기 1] 사용자 추가하기 2] 권한 주기

12 3 강

13 1. 데이터베이스 생성 1) mysqladmin 을 이용하는 방법 /usr/local/mysql/bin 에 있는 mysqladmin 이라는 유틸리티를 이용하는 방법

14 1. 데이터베이스 생성 2) mysql 을 이용하는 방법 [step 1] mysql 데이터베이스 접속하기 [step 2] 데이터베이스를 생성 [step 3] 확인

15 2. 데이터베이스 보기 데이터 베이스에 접속한 다음 질의로 데이터베이스를 볼 수 있다.

16 3. 데이터베이스 삭제 1) mysqladmin 을 이용하는 방법 2) mysql 을 이용하는 방법

17 4 강

18 1. 테이블 1. mySQL 테이블 타입 1] ISAM 타입 2] MyISAM 타입 3] HEAP 타입 4] BDB 타입

19 1. 테이블 2. 테이블 생성 1] 테이블 생성 ( CREATE TABLE ) 테이블을 생성하는 명령어의 형식은 다음과 같습니다. create table 테이블명 ( 필드명 데이터타입 [NOT NULL] {, 필드명 데이터타입 [NOT NULL]}* [,PRIMARY KEY ( 필드명 )] )

20 1. 테이블 2. 테이블 생성 1] 테이블 생성 ( CREATE TABLE ) 필드용도필드명필드속성필드길이 회원번호 uid 숫자 4 이름 name 문자 12 전자우편 email 문자 20

21 1. 테이블 3. 테이블 이름 변경과 컬럼 구조 변경 (ALTER 문 ) 1] 테이블 이름 변경 방법 : mysql 명령 모드에서 ALTER TABLE 테이블명 RENAME 새테이블명 ; 2] 테이블 컬럼 구조 변경 방법 : mysql 명령 모드에서 ALTER TABLE 테이블명 ADD 컬럼명 컬럼 유형 ; => 새로운 컬럼을 추가 ALTER TABLE 테이블명 DROP COLUMN 컬럼명 ; => 컬럼을 삭제

22 1. 테이블 [1] 기존 테이블에 필드 추가하기 ALTER TABLE 테이블명 ADD [COLUMN] 필드명 필드 타입 [2] 기존의 필드 속성변경하기 ALTER TABLE 테이블명 CHANGE [COLUMN] 기존필 드명 새필드명 필드타입

23 1. 테이블 [3] 기존의 필드삭제하기 ALTER TABLE 테이블명 DROP [COLUMN] 필드명

24 1. 테이블 4. 테이블 삭제 1] 삭제 "drop table 삭제할 테이블명 " 으로 테이블을 삭제합니다. 2] 삭제된 테이블 확인 "show tables" 로 삭제된 테이블이 보이지 않는다는 것을 확인

25 2. 데이터의 저장 1) 레코드 : 데이타 저장의 기본 단위 1] 레코드의 정의 레코드는 데이타저장의 기본단위입니다. type 학생레코드 = { 이름 : 문자열 학번 : 문자열 학과 : 문자열 출생년도 : 정수 }

26 2. 데이터의 저장 1) 레코드 : 데이타 저장의 기본 단위 2] 레코드의 길이 첫번째로 레코드의 각 부분의 크기가 고정된 경우일 때 는 각 부분의 크기를 알고 있으므로 별다른 표시없이 데이타의 각 부분을 구별할 수 있다. 두번째 경우 만약 레코드를 이루는 부분 중 한 두개 또는 모든 부분의 크기가 고정되어 있지 않다면 각 부분마 다 끝을 표시하기 위한 필요하게 됩니다.

27 2. 데이터의 저장 2) 레코드들의 집합 : 화일 1] 화일의 정의 화일은 레코드들의 집합입니다.

28 2. 데이터의 저장 2) 레코드들의 집합 : 화일 2] 화일에 대한 작업들 ① 찾기 (FIND) ② 레코드의 읽기 (READ) ③ 레코드의 추가 (INSERT) ④ 레코드의 삭제 (DELETE) ⑤ 레코드의 변경 (MODIFY) ⑥ 레코드를 처음부터 읽기

29 2. 데이터의 저장 3) 레코드로의 지름길 : 인덱스 1] 인덱스의 정의 데이타에 빠르게 접근할 수 있게 하는 것이 인덱스이다. 2] 둘 이상의 레코드를 가진 인덱스 3] 2 레벨 이상의 인덱스 구조

30 3. 데이터 타입 ◦ INT : 4bytes 정수 ◦ CHAR(n) : 문자의 수가 n 개인 문자열 ◦ VARCHAE(n) : 문자의 수가 최대 n 개인 문자열 ◦ TEXT : 문자의 수가 최대 65535 개인 문자열

31 5 강

32 1. 레코드 입력하기 INSERT INTO 테이블명 [( 필드명 {[, 필드명 ]}*)] VALUES ( 필드값 )

33 2. 검색하기 SELECT [DISTINCT] 테이블명 {, 테이블명 }* FROM 필드명 {, 필드명 }* [WHERE 검색조건 ] [ORDER BY 필드명 [ASC or DESC] {, 필드명 [ASC or DESC]}*] [GROUP BY 필드명 {, 필드명 }*] [HAVING 검색조건 ]

34 3. 수정하기 UPDATE 테이블명 SET 필드명 = 필드값 또는 산술식 {, 필드명 = 필드값 또는 산술식 }* [WHERE 검색조건 ]

35 4. 삭제하기 DELETE FROM 테이블명 [WHERE 검색조건 ]

36 5. mysql 과 함께 사용되는 명령어 사용법 **MySQL 에 관련된 프로그램 및 유틸리티 ■ mysql ■ mysqlaccess ■ mysqladmin ■ mysqld ■ mysqldump ■ mysqlimport ■ mysqlshow ■ mysqlbug ■ mysql_install_db ■ isamchk ■ make_binary_release ■ msql2mysql ■ replace ■ safe_mysqld

37 6 강

38 1. 고급 검색 1 SELECT [DISTINCT] 테이블명 {, 테이블명 }* FROM 필드명 {, 필드명 }* [WHERE 검색조건 ] [ORDER BY 필드명 [ASC or DESC] {, 필드명 [ASC or DESC]}*] [GROUP BY 필드명 {, 필드명 }*] [HAVING 검색조건 ]

39 1. 고급 검색 1 1. 출력결과레코드의 중복제거하기 DISTINCT 를 사용하면 중복된 레코드의 중복을 제거 2. 다양한 검색방법들 ①특정필드의 데이터에 지정한 문자가 포함된 경우만을 조회 ②특정한 한 문자로 시작하는 데이터만을 출력할 때에 사용하는 조회형식 ③특정 필드에 데이터가 NULL 인 경우를 조회 ④특정 필드의 데이터가 NULL 이 아닌 경우를 조회

40 1. 고급 검색 1 3. 조건검색 4. 검색결과의 정렬 5. 검색결과에 대한 산술계산 및 문자열처 리 6. 그룹함수 (group function) 를 이용한 검 색

41 7 강

42 1. 고급 검색 2 SELECT [DISTINCT] 테이블명 {, 테이블명 }* FROM 필드명 {, 필드명 }* [WHERE 검색조건 ] [ORDER BY 필드명 [ASC or DESC] {, 필드명 [ASC or DESC]}*] [GROUP BY 필드명 {, 필드명 }*] [HAVING 검색조건 ]

43 1. 고급 검색 2 1. GROUP BY 를 이용한 검색 2. HAVING 을 이용한 검색 3. BETWEEN 연산자를 이용한 검색 4. LIKE 를 사용한 검색 5. NULL 값을 갖는 데이터검색

44 8 강

45 1. 데이터 백업 받기 ① 우선 텔넷으로 접속한다. ② mysqldump -u [Mysql ID] -p [DB Name] > [ 백업할 파일 이름 ] 이렇게 입력한다. 그러면 패스워드를 묻게 된다. ③ 패스워드를 입력한다.

46 2. 복구하기

47 9 강

48 1. 루트 암호 변경하기 방법 1. mysqladmin 이라는 명령어 사용 방법 2, mysql 의 set 이란 명령어로 root 암호 를 변경 방법 3. mysql 데이터베이스로 접속하여 update 문을 사용하는 방법

49 2. 루트 패스워드를 읽어버렸을 때 1) 실행중인 msyql 종료 2) grant-table 미 사용모드로 mysql 시작 3) update 문으로 root 사용자 패스워드 변 경 4) 실행중인 mysql 다시 종료 5) 일반모드로 Mysql 재시작

50 3. MySQL 암호화 기법 ┏다음은 암호화에 사용되는 SQL 문입니다. ┃ ┃ INSERT INTO Member ┃ (ID, Pass) ┃ VALUES ┃ ('MyID', encode('MyPass','MyKey')) ┃ ┃ encode() 함수가 암호화하는 일을 합니다. ┗인수중 'MyPass' 가 암호화할 문자열이고 'MyKey' 가 암 호화에 사용되는 키입니다.

51 3. MySQL 암호화 기법 ┏다음은 복호화에 사용되는 SQL 문입니다. ┃ ┃ SELECT ┃ decode(Pass,'MyKey') ┃ FROM Member ┃ WHERE ID = 'MyID' ┃ ┃ decode() 함수가 복호화하는 일을 합니다. ┃암호화에 사용된 키를 인수로 주면 암호화되어 저장되 었던 값이 ┗복호화되서 반환됩니다.

52 10 강

53 1. 파일로 부터 레코드 입력받기와 결과를 파일로 저장하기 1) 파일에서 데이터를 테이블로 읽어 들이 기 방법 : mysql 명령 모드에서 LOAD DATA INFILE ' 파일 경로명 ' INTO TABLE 테이블명 FIELDS TERMINATED BY ' 필드구분자 '; 2) 테이블에서 데이터를 검색하여 파일로 출력하기 방법 : mysql 명령 모드에서 SELECT 문 INTO OUTFILE ' 출력파일의 경로명 ';

54 2. text 파일을 테이블에 저장하기 (load data infile 문 ) 1) 테이블생성 2) desc 라는 명령어로 테이블의구조를 살 펴본다. 3) 입력할 텍스트파일 확인 4) 데이터불러오기 5) 저장된 데이터 확인

55 3. text 파일을 테이블에 입력하기 (mysqlimport 문 ) 1) 저장할 텍스트파일 확인 2) mysqlimport 문으로 데이터저장하기 3) 저장된 데이터 확인


Download ppt "1 강. 1.MYSQL 이란 ? MySQL 서버란 데이터를 관리해 주는 서버프로그램이다. mysql 은 MySQL 서버에 접속하여서 사용자가 명령을 입력할 수 있게 해주는 클라이언트 프로그램이다. MySQL 주요 기능 Kernel threads 를 이용, 완벽한 multi-threaded."

Similar presentations


Ads by Google