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