APM 실습 (MySQL).

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 ( 화 )
Advertisements

CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
SQLite 소개 및 안드로이드에서의 사용법
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
SQL 언어 SQL.
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
제로보드 소개 제로보드 설치하기 제로보드 관리하기
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Database & Internet Computing Laboratory 한 양 대 학 교
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
C#에서 데이터베이스 연동 방법.
제 5 장 인덱스 생성 및 관리.
Chapter-2. 개발환경 구축하기.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
Chapter 05 SQL 인젝션 공격.
JDBC 프로그래밍 이수지 이동주 1.
Apache Hive 빅데이터 분산 컴퓨팅 박영택.
3장. MySQL 5.x 설치와 정보 MySQL의 특징 MySQL 설치 MySQL의 데이터베이스 관리 툴
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
MySQL grandmarnier.
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
MySQL argon.
MySQL performance Xhark 김재홍.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Toad for Oracle 설치 방법.
MySQL RENO.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
11장. 데이터베이스 서버 구축과 운영.
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
기초 T-SQL.
MySQL 기본 사용법.
Chapter 05 데이터베이스 프로그래밍.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
SQL Server 2000 세미나 Profiler를 이용한 문제해결
차례 튜닝 - 프로필러를 이용한 튜닝 프로필러 친해지기 프로필러 결과 테이블로 만들기 프로필러 결과 분석하기
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
9장 테이블 생성 및 변경, 삭제하기(DDL).
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
SQL.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
2012 인터넷 응용프로그래밍 FTP, MySQL 사용 방법 및 텀 프로젝트용 서버에서 웹페이지 구동 방법 설명
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
문양세 (1st version: 문성우) (revised by 손시운)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
Database 중고차 매매 DB 비즈니스IT 윤동섭.
인터넷응용프로그래밍 과제 실습.
8장 테이블의 생성 및 변경 정인기.
06. SQL 명지대학교 ICT 융합대학 김정호.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 장종원
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
Presentation transcript:

APM 실습 (MySQL)

2008년 2학기 데이터베이스 목 차 1 개요 2 MySQL 설치 3 MySQL 데이터베이스 4 MySQL 질의어

개 요 데이터베이스 용어 필드(field) 가장 작은 단위의 의미있는 데이터 표현 레코드(record) 2008년 2학기 데이터베이스 개 요 데이터베이스 용어 필드(field) 가장 작은 단위의 의미있는 데이터 표현 레코드(record) 서로 관련있는 필드들의 집합 테이블(table) 레코드들의 집합으로 개체와 관계가 모두 테이블로 표현 데이터베이스(database) 서로 유기적인 관계가 있는 테이블의 집합체 필드 예 교수이름, 학번 관계형 데이타베이스의 경우, 애트리뷰트라고 표현 레코드 예 학번,이름 등으로 구성되는 학생 레코드 관계형 데이타베이스의 경우, 튜플이라고 표현 테이블 예 여러 학생들의 레코드가 모여서 학생 테이블 구성 관계형 데이타베이스의 경우, 릴레이션이라고 표현 데이타베이스 학생,교수,개설과목,수강,지도,강의 테이블들이 데이타베이스

개 요 SQL SQL 기본 명령 Structured Query Language 데이타베이스 표준 질의어 2008년 2학기 데이터베이스 개 요 SQL Structured Query Language 데이타베이스 표준 질의어 ANSI 와 ISO 표준 SQL 기본 명령 테이블 생성, create 데이타 입력, insert 데이타 검색, select 데이타 삭제, delete 데이타 수정, update 설치 형식은 압축을 풀고 configure와 컴파일과 설치이며 작업후에는 압축파일과 압축이 풀린 파일들을 삭제하도록 하겠습니다. tar zxvf xxxx.tar.gz tar 옵션 설명: z 는 gz 압축 파일을 다룬다는 것을 의미 x 는 extract의 약어. 압축,묶음을 풀겠다는 의미 v 는 verbose의 약어. 압축 풀때 각 화일명을 나열하라는 의미 f 는 file의 약어. 특정 파일을 다룬다는 것을 의미 설치에 앞서 rpm 버전으로 설치 된것은 삭제 rpm –qa mysql (mysql 프로그램이 깔려있는 지확인) rpm –e mysql (확인후 있다면 –e 옵션으로 삭제) 실행중이면 ps 명령어로 프로세서 확인후 kill 명령어로 프로세서를 죽이고 실행 의존성 문제 rpm 프로그램 모두 삭제시에는 –nodeps 옵션을 붙여주면 됨

개 요 SQL 형태 DML(Data Manipulation Language) 데이터를 추출, 저장, 변경, 삭제 등 2008년 2학기 데이터베이스 개 요 SQL 형태 DML(Data Manipulation Language) 데이터를 추출, 저장, 변경, 삭제 등 select, insert, update, delete … DDL(Data Definition Language) 테이블을 생성, 변경, 삭제 등 데이터베이스 구조와 관련된 작업에 사용 create , alter , drop … DCL(Data Control Language) 주로 데이터베이스의 사용자 권한과 관련 일반적으로 데이터베이스 관리자가 사용 grant … DML SQL에서 가장 많이 쓰임

개 요 MySQL의 특징 기능을 최대한 단순화한 공개 관계형 DB 일반적으로 필요한 기능은 거의 지원 2008년 2학기 데이터베이스 개 요 MySQL의 특징 기능을 최대한 단순화한 공개 관계형 DB 일반적으로 필요한 기능은 거의 지원 무한대에 가까운 사용자를 관리할 수 있는 능력 Kernel threads를 이용, 완벽한 multi-threaded를 지원 적절한 기능에 빠른 명령어 실행 속도 50,000,000개 이상의 레코드를 수용 100,000,000 건 이하의 자료에서는 공개형 DB 중 최고 속도 PHP와 연동이 매우 쉽다 풍부한 API 제공: C, C++, Java, Perl, PHP, Python, etc. 풍부한 OS 지원 MySQL에서 지원되지 않는 기능 트랜잭션 : 테이블 Locking으로 대충 지원 뷰를 지원하지 않는다. 시스템 카탈로그가 존재하지 않는다. 테이블 스페이스/데이타베이스 : 디렉토리 릴레이션/테이블 : 파일

MySQL 설치 MySQL 선택 (윈도우 OS 환경) MySQL의 최신버전은 6.0.7-alpha 이다 2008년 2학기 데이터베이스 MySQL 설치 MySQL 선택 (윈도우 OS 환경) MySQL의 최신버전은 6.0.7-alpha 이다 MySQL은 총 세가지의 패키지를 가지고 있다 Essentials Package – 설치시 최소한의 파일들을 가지고 있다 (구성마법사 포함, 임베디드 서버 미포함) Complete Package – 설치시 필요한 모든 파일들을 가지고 있다 (구성마법사 포함, 임베디드 서버 포함) Noinstall Arehive – 설치 및 시스템 구성을 수동으로 해야 한다 (구성마법사 미포함, 임베디드 서버 포함) 수업 및 실습에 사용할 버전은 Essential 5.1.29 이다 바이너리, rpm, 소스 설치 중 소스 설치를 선택하였다. 이유는: 기본문자셋을 euckr로 설정할 수 있음 /usr/local/mysql/scripts/mysql_install_db로 기본 db를 생성합니다. 쉘을 작성해서 한번에 mysql을 설치 한다. mysql 옵션 설정 가능한 한줄로 쓴다. 혹. 옵션이 적용 안될 수 있음 configure앞에 ./ 가 붙는 이유 configure는 해당 디렉토리에 들어 있는 실행 파일입니다. .(점, point)는 현재 디렉토리를 의미한다. 현재 디렉토리에 파일을 실행시킨다는 의미로 ./configure라고 명령을 준다. make는 소스 코드를 실행이 가능한 실행파일로 만들어 줍니다. make install은 만들어진 실행화일을 특정 디렉토리로 옮겨주는 역할을 한다.

MySQL 설치 MySQL 설치 www.mysql.com 에서 MySQL을 다운로드 한다. 2008년 2학기 데이터베이스 MySQL 설치 MySQL 설치 www.mysql.com 에서 MySQL을 다운로드 한다. 소스 다운로드 (http://dev.mysql.com/downloads/) 한글 매뉴얼 참조 (www.mysqlkorea.co.kr) 설치 타입 선택 Typical - MySQL 서버, mysql 명령어-라인 클라이언트, 명령어-라인 유틸리티 설치 Complete - 설치 패키지에 포함된 모든 요소 설치 Custom - 사용자 임의로 설치 Configuration Type 선택하기 상세구성 – 대부분의 서버 구성에 대해 제어를 하기 위한 구성 표준구성 – 서버 구성에 대한 제어를 최소화 한 구성 바이너리, rpm, 소스 설치 중 소스 설치를 선택하였다. 이유는: 기본문자셋을 euckr로 설정할 수 있음 /usr/local/mysql/scripts/mysql_install_db로 기본 db를 생성합니다. 쉘을 작성해서 한번에 mysql을 설치 한다. mysql 옵션 설정 가능한 한줄로 쓴다. 혹. 옵션이 적용 안될 수 있음 configure앞에 ./ 가 붙는 이유 configure는 해당 디렉토리에 들어 있는 실행 파일입니다. .(점, point)는 현재 디렉토리를 의미한다. 현재 디렉토리에 파일을 실행시킨다는 의미로 ./configure라고 명령을 준다. make는 소스 코드를 실행이 가능한 실행파일로 만들어 줍니다. make install은 만들어진 실행화일을 특정 디렉토리로 옮겨주는 역할을 한다.

MySQL 설치 MySQL 설치 (Cont.) 서버타입 선택 Developer – 최소 시스템 자원을 사용하도록 구성 2008년 2학기 데이터베이스 MySQL 설치 MySQL 설치 (Cont.) 서버타입 선택 Developer – 최소 시스템 자원을 사용하도록 구성 Server – FTP, email 등과 같은 다른 어플리케이션과 함께 운영되는 서버를 위한 구성 Dedicated MySQL Server – 서버장비가 MySQL만 전용으로 실행하는 용도의 옵션 데이터베이스 사용량 선택 Multifunctional - InnoDB 및 MyISAM 두 엔진에 자원을 동등 분할 Transactional Only - 대부분의 자원을 InnoDB에 할당하며 MyISAM 에는 최소한의 자원만 할당 Non-Transactional Only - MyISAM 스토리지 엔진만 사용 바이너리, rpm, 소스 설치 중 소스 설치를 선택하였다. 이유는: 기본문자셋을 euckr로 설정할 수 있음 /usr/local/mysql/scripts/mysql_install_db로 기본 db를 생성합니다. 쉘을 작성해서 한번에 mysql을 설치 한다. mysql 옵션 설정 가능한 한줄로 쓴다. 혹. 옵션이 적용 안될 수 있음 configure앞에 ./ 가 붙는 이유 configure는 해당 디렉토리에 들어 있는 실행 파일입니다. .(점, point)는 현재 디렉토리를 의미한다. 현재 디렉토리에 파일을 실행시킨다는 의미로 ./configure라고 명령을 준다. make는 소스 코드를 실행이 가능한 실행파일로 만들어 줍니다. make install은 만들어진 실행화일을 특정 디렉토리로 옮겨주는 역할을 한다.

MySQL 설치 MySQL 설치 (Cont.) 동시 연결 선택 2008년 2학기 데이터베이스 MySQL 설치 MySQL 설치 (Cont.) 동시 연결 선택 Decision Support (DSS)/OLAP - 서버에 동시 연결이 많이 필요하지 않는 경우에 이 옵션을 선택 Online Transaction Processing (OLTP) - 많은 수의 동시 연결이 필요로 하는 경우에 선택 Manual Setting - 서버에 연결할 수 있는 최대 동시 연결 수를 수동으로 설정할 때 선택 네트워킹 및 스트릭트 모드 (Strict Mode) 옵션 선택 TCP/IP네트워킹을 활성화 또는 비활성화 시키고 MySQL서버에 접속하는 포트의 숫자를 구성하는데 사용 TCP/IP 네트워킹은 디폴트(Port 3306)로 활성화 서버 SQL모드를 스트릭트(strict) 모드로 활성화 또는 비활성함 바이너리, rpm, 소스 설치 중 소스 설치를 선택하였다. 이유는: 기본문자셋을 euckr로 설정할 수 있음 /usr/local/mysql/scripts/mysql_install_db로 기본 db를 생성합니다. 쉘을 작성해서 한번에 mysql을 설치 한다. mysql 옵션 설정 가능한 한줄로 쓴다. 혹. 옵션이 적용 안될 수 있음 configure앞에 ./ 가 붙는 이유 configure는 해당 디렉토리에 들어 있는 실행 파일입니다. .(점, point)는 현재 디렉토리를 의미한다. 현재 디렉토리에 파일을 실행시킨다는 의미로 ./configure라고 명령을 준다. make는 소스 코드를 실행이 가능한 실행파일로 만들어 줍니다. make install은 만들어진 실행화일을 특정 디렉토리로 옮겨주는 역할을 한다.

MySQL 설치 MySQL 설치 (Cont.) 문자 셋 선택 2008년 2학기 데이터베이스 MySQL 설치 MySQL 설치 (Cont.) 문자 셋 선택 Standard Character Set - latin1(영어 및 많은 서 유럽)을 서버의 디폴트 문자 셋으로 사용하고자 할 경우에 선택할 수 있는 옵션 Best Support For Multilingualism - utf8 를 디폴트 서버 문자 셋으로 선택할 때 사용되는 옵션(유니 코드 문자 셋) Manual Selected Default Character Set / Collation - 서버의 디폴트 문자 셋을 수동 선택하는 옵션(드롭 다운리스트 선택) 보안 옵션 선택 MySQL서버에 대해서는 root 패스워드를 설정할 것을 권장, 또한 MySQL구성 마법사는 이것을 디폴트로 요구 루트 패스워드를 사용 안 할 경우, 보안설정옵션수정 박스를 해제 익명의 사용자 계정을 생성하기 위해서는, 익명 계정 옵션 생성 박스를 설정 바이너리, rpm, 소스 설치 중 소스 설치를 선택하였다. 이유는: 기본문자셋을 euckr로 설정할 수 있음 /usr/local/mysql/scripts/mysql_install_db로 기본 db를 생성합니다. 쉘을 작성해서 한번에 mysql을 설치 한다. mysql 옵션 설정 가능한 한줄로 쓴다. 혹. 옵션이 적용 안될 수 있음 configure앞에 ./ 가 붙는 이유 configure는 해당 디렉토리에 들어 있는 실행 파일입니다. .(점, point)는 현재 디렉토리를 의미한다. 현재 디렉토리에 파일을 실행시킨다는 의미로 ./configure라고 명령을 준다. make는 소스 코드를 실행이 가능한 실행파일로 만들어 줍니다. make install은 만들어진 실행화일을 특정 디렉토리로 옮겨주는 역할을 한다.

MySQL 설치 MySQL 접속 새로운 유저 등록 2008년 2학기 데이터베이스 MySQL 설치 MySQL 접속 새로운 유저 등록 mysql [-h host_name] [-u user_name] [-p] [db_name] C:> mysql –h localhost –u root –p Enter password : **** 환경 변수에 mysql 의 경로를 설정해 주면 편리하게 이용 할 수 있다 기본 설치 경로는 C:\Program Files\MySQL\MySQL Server 5.1\bin 이다 GRANT를 이용한 방법 mysql> GRANT ALL ON *.* TO dsl@localhost IDENTIFIED BY 'secretpassword'; dsl라는 local사용자를 생성하며 모든 권한을 주었다

MySQL 설치 비밀번호 수정 사용자 삭제 사용중인 DB 변경 MySQL 종료 2008년 2학기 데이터베이스 MySQL 설치 비밀번호 수정 Mysql> UPDATE user SET password = 'newpassword' WHERE user = `user'; 사용자 삭제 Mysql> DELETE FROM user WHERE user=‘user’ 사용중인 DB 변경 Mysql> use ‘db_name’ 데이터베이스와 사용자 관계 설정에는 db, user db -> 데이터베이스와 사용자와의 관계 명시 테이블 user -> 사용자 계정을 만들고 부여하는 테이블 MySQL 종료 Mysql> quit

MySQL 데이터베이스 MySQL의 데이터 유형 TINYINT 부호 있는 수는 –128~127까지, 2008년 2학기 데이터베이스 MySQL 데이터베이스 MySQL의 데이터 유형 TINYINT 부호 있는 수는 –128~127까지, 부호 없는 수는 0~255까지 표현. 1 바이트 SMALLINT 부호 있는 수는 –32768~32767까지, 부호 없는 수는 0~65535까지 표현. 2 바이트 MEDIUMINT 부호 있는 수는 –8388608~8388607까지, 부호 없는 수는 0~16777215까지 수를 표현. 3 바이트 INT or INTEGER 부호 있는 수는 –2147483648~2147483647까지, 부호 없는 수는 0~4294967295까지 . 4 바이트 FLOAT 부동 소수점을 나타낸다. 언제나 부호 있는 수임. (-3.402823466E+38~3.402823466E+38) DOUBLE 2배 정밀도를 가진 부동 소수점. (-1.79769313486231517E+308~6931348623157E+308) DATE 날짜를 표현하는 타입. ‘9999-12-31’. 3 바이트 DATETIME 날짜와 시간을 같이 나타내는 타입. ‘9999-12-31 23:59:59’. 8 바이트 TIMESTAMP ‘1970-01-01 00:00:00’ 부터 2037년까지 나타낼 수 있다. 4 바이트 bigint: 8byte float(4), float(8) => 단일정밀도를 가진 부동 소수점 numeric type real number data type

MEDIUMBLOB, MEDIUMTEXT 2008년 2학기 데이터베이스 MySQL 데이터베이스 MySQL의 데이터 유형 (Cont.) TIME 시간을 나타낸다. ‘-839:59:59’ 부터 ‘838:59:59’까지 나타낼 수 있다. YEAR 년도를 나타낸다. 1901년부터 2155년, 0000년을 나타낼 수 있다. CHAR(M) 고정 길이를 갖는 문자열을 저장할 수 있다. M은 1 부터 255 까지 이다. VARCHAR(M) CHAR는 고정 길이인 반면 VARCHAR는 가변 길이이다. TINYBLOB, TINYTEXT 255개의 문자를 저장할 수 있다. BLOB,TEXT 63,535개의 문자를 저장할 수 있다. MEDIUMBLOB, MEDIUMTEXT 16,777,215개의 문자를 저장할 수 있다. LONGBLOB, LONGTEXT 4,294,967,295(4기가)개의 문자를 저장할 수 있다. string type BLOB type(Binary Large Object) BLOB 타입은 대소문자 구분 text 타입은 대소문자 구분x 뒷부분의 공백이 제거되지 않는다. default로 지정할 수 없다.

MySQL 질의어 데이터베이스 생성 및 삭제 데이터베이스 생성 데이터베이스 삭제 2008년 2학기 데이터베이스 MySQL 질의어 데이터베이스 생성 및 삭제 데이터베이스 생성 데이터베이스 삭제 CREATE DATABASE db_name ex) mysql> create database test; DROP DATABASE db_name ex) mysql> drop database test; 테이블에서 칼럼 값을 검색하여 보여 준다 ex) select name, owner, species, sex, birth from pet; ex) select 이름, 점수 from 학생 where 점수 >=90; 제약조건 id int not null auto_increment -> 하나의 테이블에 하나만 지정된 컬럼은 키 또는 인덱스로 정의 not null: null값을 허락하지 않음 primary key: 중복된 데이터를 허락하지 않음 Not null unique: 중복된 데이터를 허락하지 않음, null

MySQL 질의어 테이블 생성 (create table) 2008년 2학기 데이터베이스 MySQL 질의어 테이블 생성 (create table) CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_option] [select_statement] ex) CREATE TABLE test ( id int(11) not null auto_increment, ← ID 필드는 정수형이며 널 값은 적용 안되며 자동 카운트 name varchar(10), email varchar(30), ← name, email 은 캐릭터 형 primary key(id) , ← ID 필드는 기본키 index name_index(name(10)) ← name 필드를 name_index라는 이름으로 인덱스함 ); 테이블에서 칼럼 값을 검색하여 보여 준다 ex) select name, owner, species, sex, birth from pet; ex) select 이름, 점수 from 학생 where 점수 >=90; 제약조건 id int not null auto_increment -> 하나의 테이블에 하나만 지정된 컬럼은 키 또는 인덱스로 정의 not null: null값을 허락하지 않음 primary key: 중복된 데이터를 허락하지 않음 Not null unique: 중복된 데이터를 허락하지 않음, null

MySQL 질의어 데이터 검색 (select) 2008년 2학기 데이터베이스 MySQL 질의어 데이터 검색 (select) SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [ DISTINCT | DISTINCTROW | ALL] Select_expression,….. FROM table_references [WHERE where_definition] [GROUP BY col_name,…] [HAVING where_definition] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC],… ] [LIMIT [offset,] rows] · table-references는 JOIN을 통해 만들어 질 수도 있다 · order by는 col_name에 맞추어 정렬한다. · DISTINCT 또는 DISTINCTROW는 중복된 컬럼은 제거하고 보여준다 · LIMIT는 select된 row을 특정 부분을 넘겨준다. 테이블에서 칼럼 값을 검색하여 보여 준다 ex) select name, owner, species, sex, birth from pet; ex) select 이름, 점수 from 학생 where 점수 >=90; 제약조건 id int not null auto_increment -> 하나의 테이블에 하나만 지정된 컬럼은 키 또는 인덱스로 정의 not null: null값을 허락하지 않음 primary key: 중복된 데이터를 허락하지 않음 Not null unique: 중복된 데이터를 허락하지 않음, null

MySQL 질의어 JOIN Table_reference, table_reference 2008년 2학기 데이터베이스 MySQL 질의어 JOIN Table_reference, table_reference Table_reference [CROSS] JOIN table_reference Table_reference LEFT [OUTER] JOIN table_reference ON conditional_expr Table_reference LEFT [OUTER] JOIN table_reference USING (column) ex) SELECT concat(std.last_name, std.first_name) AS Name, Depart.dept_name AS department FROM std LEFT OUTER JOIN depart USING (d_no); 테이블에서 칼럼 값을 검색하여 보여 준다 ex) select name, owner, species, sex, birth from pet; ex) select 이름, 점수 from 학생 where 점수 >=90; 제약조건 id int not null auto_increment -> 하나의 테이블에 하나만 지정된 컬럼은 키 또는 인덱스로 정의 not null: null값을 허락하지 않음 primary key: 중복된 데이터를 허락하지 않음 Not null unique: 중복된 데이터를 허락하지 않음, null · select 문에서 사용할 수 있다 · 컬럼명이 같을때 ON대신 USING(column)을 사용할 수 있다 · 조인은 두개의 테이블에서 특정한 조건을 만족하는 각각의 컬럼 들을 합쳐서 만든다 · INNER JOIN은 매치되는 컬럼에 한해서 조인 결과를 보여준다 · OUT JOIN은 조건을 만족하지 못하더라도 그 값을 필요로 할 때 사용 할 수 있다

MySQL 질의어 권한 부여 (GRANT) 권한 삭제 (REVOKE) 2008년 2학기 데이터베이스 MySQL 질의어 권한 부여 (GRANT) GRANT priv_type [(column_list)] [, priv_type [(column_list) …] ON { tbl_name | * | *.* | db_name.* } TO user_name [IDENTIFIED BY ‘password’] [, user_name [IDENTIFIED BY ‘password’]….] [with grant option] ex) GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON intra.* To dsl@localhost IDENTIDIED BY ‘password’ 테이블에서 칼럼 값을 검색하여 보여 준다 ex) select name, owner, species, sex, birth from pet; ex) select 이름, 점수 from 학생 where 점수 >=90; 제약조건 id int not null auto_increment -> 하나의 테이블에 하나만 지정된 컬럼은 키 또는 인덱스로 정의 not null: null값을 허락하지 않음 primary key: 중복된 데이터를 허락하지 않음 Not null unique: 중복된 데이터를 허락하지 않음, null 권한 삭제 (REVOKE) REVOKE priv_type [(column_list)] [, priv_type [(column_list) …] ON { tbl_name | * | *.* | db_name.* } FROM user_name [, user_name….]

MySQL 질의어 데이터 입력 (insert) 레코드 수정 (update) 2008년 2학기 데이터베이스 MySQL 질의어 데이터 입력 (insert) insert into 테이블 명 (칼럼 명1, 칼럼 명2,…) values(칼럼 값1, 칼럼 값2, ….); insert into 테이블 명 values(칼럼 값1, 칼럼 값2, ….); 문자열은 ‘ ’안에 넣어야 한다 레코드 수정 (update) update 테이블 명 SET 칼럼 명1 = 변경값, 칼럼 명2=변경값… [ WHERE 조건] ; ex) UPDATE std SET id=pd WHERE no=1; 해당하는 레코드를 변경한다 한번 입력된 레코드는 오로지 UPDATE로만 변경이 가능하다 테이블에서 칼럼 값을 검색하여 보여 준다 ex) select name, owner, species, sex, birth from pet; ex) select 이름, 점수 from 학생 where 점수 >=90;

MySQL 질의어 데이타 삭제(delete) 데이타 값 수정(update) show databases; show tables; 2008년 2학기 데이터베이스 MySQL 질의어 데이타 삭제(delete) delete from 테이블 명 where 조건 문; 데이타 값 수정(update) update 테이블 명 set 칼럼=변화 값 where 조건; show databases; database들을 볼 수 있다 show tables; table들을 볼 수 있다 특정 데이타 레코드(가로줄)를 삭제 ex) delete from 학생 where 전화번호=“555-555”; ex) update 학생 set 전화번호=“333-333” where 전화번호=“555-555”;

MySQL 질의어 alter table 테이블 명 change 예전_칼럼 명 새_칼럼 명 데이타형; 2008년 2학기 데이터베이스 MySQL 질의어 alter table 테이블 명 change 예전_칼럼 명 새_칼럼 명 데이타형; 칼럼 명 변경 : ex) alter table 학생 change DB점수 컴수점수 char(8); alter table 테이블 명 drop 삭제하려는 칼럼 명; 칼럼 삭제 : ex) alter table 학생 drop 컴수점수; alter table 테이블 명 add 새로운 칼럼 명 데이타형; 칼럼 추가 : ex) alter table 학생 add 학점 char(8); alter table 테이블 명 modify 칼럼 명 새로운 데이타형; 칼럼의 데이타 형 수정하기 : ex) alter table 학생 modify 학점 int; NVL=> IFNULL select sysdate from dual => select NOW() 3번째 add primary key (column)

MySQL 질의어 alter table 예전테이블 명 rename 새로운 테이블 명; 명령 취소 : \c 2008년 2학기 데이터베이스 MySQL 질의어 alter table 예전테이블 명 rename 새로운 테이블 명; 테이블 명 수정하기 : ex) alter table 학생 rename 출석부; 명령 취소 : \c ^c 가 아님에 유의 주석 : #, /* */ caret 캐럿

MySQL 질의어 SQL문의 암호화 및 복호화 encode() 함수가 암호화하는 일을 한다 2008년 2학기 데이터베이스 MySQL 질의어 SQL문의 암호화 및 복호화 encode() 함수가 암호화하는 일을 한다 decode()함수가 복호화하는 일을 한다 mysql> insert into member (id, pass) values(‘myid', encode(‘mypass’,‘mykey’)); id pass myid r / ` mysql> select decode(pass,‘mykey') from member where id=‘myid’ 인수중 'MyPass'가 암호화할 문자열이고 'MyKey'가 암호화에 사용되는 키입니다. 암호화에 사용된 키를 인수로 주면 암호화되어 저장되었던 값이 복호화되서 반환됩니다

MySQL 질의어 테이블 백업 테이블 복구 mysqldump –u ‘ID’ –p ‘DB명’ ‘Table명’ > 파일명 2008년 2학기 데이터베이스 MySQL 질의어 테이블 백업 mysqldump –u ‘ID’ –p ‘DB명’ ‘Table명’ > 파일명 예) DB명 : test, Table명 : testtable의 경우, 테이블 복구 Mysql –u ‘ID’ –p < 복원할파일명 예) DB명 : test, Table명 : testtable의 경우, 파일명 : mysql mysqldump –u root –p test testtable > c:\mysql Table : 테이블명을 나타낸다 Op : 항상 ‘backup’이라고 표시된다 Msg_type : status, error, info 혹은 warning 중에 하나로 표시된다 Msg_text : 메시지를 보여준다. Mysql –u root –p test < mysql

Thanks

2008년 2학기 데이터베이스 Q & A