날짜: 1996-05-03 | 글쓴이: 도아 | 4876 번 | 프린트 | 메일로보내기

제 3강 - mSQL(mini-SQL)


mSQL은 아주 적은 메모리량을 차지하면서 빠르게 데이터를 엑세스할 수 있도록 하기 위해 설계된 경량의 데이터베이스 엔진이다. 이름에서 알 수 있듯이 mSQL은 query 인터페이스로 SQL의 부분집합을 제공한다. mSQL은 뷰와 subquery는 제공하지 않는다.

현재 mSQL 패키지는 데이터베이스 엔진(msql2d), 터미널 모니터 프로그램(msql), 데이터베이스 관리 프로그램(msqladmin), 스키마 뷰어(relshow), C 언어 API를 제공한다. 그리고 C API는 TCP/IP 네트워크 상에서 클라이언트/서버 환경에서 동작하도록 되어 있다.

mSQL은 상용데이터베이스와 같은 데이터베이스시스템에 비해 풍부한 기능을 제공하지는 않지만 비교적 소규모의 데이터베이스를 다루기에는 적합하다. 또한 경량의 데이터베이스엔진이기 때문에 작은 규모의 데이터베이스에 대해서는 빠른 속도로 서비스를 제공할 수 있다. msqladmin

데이터베이스의 생성, 삭제등 데이터베이스를 관리하는데 사용된다. 사용형식

msqladmin option database

shutdown:	서버 동작 중지
reload:		서버 환경 설정 Reloading
version:	서버 정보 보이기
stats:		서버 작동 시스템 환경 보이기
create:		데이타베이스 생성
drop:		데이타베이스 삭제
사용예

dB의 생성. commlab라는 dB를 생성한다.

% msqladmin create commlab

dB의 삭제. commlab라는 dB를 삭제한다.

% msqladmin drop commlab
msql

msql의 모니터 프로그램으로 SQL문을 직접입력, 데이터를 조작할 수 있다. 사용형식

msql [-f conf_file] [-h host] database

-f : 기본 설정화일이외의 설정파일을 사용
-h : msql이 Remote 호스트에 설치된 경우 원격 호스트의 주소
database: 접속하려는 데이터 베이스
사용예

% msql graduate

Welcome to the miniSQL monitor.  Type \h for help.


mSQL > 

위에서와 같이 mSQL > 라는 프롬프트가 보이면 이 프롬프트에서 직접 query 입력하고 \g를 입력하면 query를 수행하게된다. 즉,

mSQL > create table address(name char(8), phone char(15), address text(50))
    -> \g

Query OK.  1 row(s) modified or retrieved.

mSQL > 

주의: query는 \g가 수행되기 전까지 몇줄이라도 입력할 수 있다. 만약, 입력하는 중간에 잘못 입력했다면, \e 명령을 이용해서 수정할 수 있다. msql의 명령

\g
사용자가 입력한 query를 dB 엔진으로 전송. 실제 SQL 질의는 \g를 입력할 때 수행된다.
\e
이전에 입력했던 사용자 질의를 수정. vi 편집기를 호출해서 바로전에 입력한 질의를 수정한다.
\h
간단한 도움말을 출력한다.
\q
msql 모니터 프로그램을 종료한다.

주의: 모든 SQL 질의는 한번에 하나만 수행해야 한다. relshow

Shema Viewer로서 msql로 생성한 테이블의 스키마를 출력한다. 사용형식 데이터베이스의 목록(relshow)

  %  relshow


  +-----------------+
  |    Databases    |
  +-----------------+
  | mhlee           |
  | hee             |
  | test            |
  | commlab         |
  | www             |
  +-----------------+
  
테이블 목록(relshow database)

  % relshow commlab


Database = commlab

  +---------------------+
  |       Table         |
  +---------------------+
  | book                |
  | testbook            |
  +---------------------+
  
테이블 스키마(relshow database table)

 % relshow commlab book

Database = commlab
Table    = book

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | class           | char     | 8      | N        | N/A          |
 | title           | char     | 80     | N        | N/A          |
 | auth            | char     | 20     | N        | N/A          |
 | pub             | char     | 30     | N        | N/A          |
 | pdate           | char     | 8      | N        | N/A          |
 | sdate           | char     | 8      | N        | N/A          |
 | cost            | char     | 6      | N        | N/A          |
 | site            | char     | 8      | N        | N/A          |
 | state           | char     | 8      | N        | N/A          |
 +-----------------+----------+--------+----------+--------------+
 

위에서 보여지는 것처럼 relshow명령을 이용하면, 테이블의 필드명, 필드 속성, Not Null 여부, Indexing 여부를 알 수 있다. msqlexport

데이터베이스의 백업을 위해 데이터베이스를 텍스트 파일로 저장하는데 사용한다. 사용형식

msqlexport [-h host] [-v] [-s Char] [-q Char] [-e Char] database table

-v:		export 과정을 자세히 보여준다.
-s:		필드를 분리할 때 사용할 문자를 지정한다. 기본값은 쉼표(,)
-q:		필드를 인용할 때 사용할 문자를 지정한다.
-e:		Escape 문자를 지정한다. 기본값은 역슬래쉬(\)
사용예

% msqlexport commlab book

COMM-DSP,Multidimensional Digital Signal Processing,Dan E. Dudgeon
COMM-SS,Digital Communication and Spread Spectrum System,R. E. Ziemer
COMM-MOD,An Introduction to Communication System,A. R. Hambley

STDOUT으로 출력되므로 파일로 저장하기위해서는 Redirection을 사용한다.

% msqlexport commlab book > file
msqlimport

다른 데이터베이스로부터 데이터를 가져오거나 백업된 데이터를 입력하는데 사용된다. 사용형식

msqlimport [-h host] [-v] [-s Char] [-e Char] [-q Char] database table

-v:		export 과정을 자세히 보여준다.
-s:		필드를 분리할 때 사용할 문자를 지정한다. 기본값은 쉼표(,)
-q:		필드를 인용할 때 사용할 문자를 지정한다.
-e:		Escape 문자를 지정한다. 기본값은 역슬래쉬(\)
사용예

%  msqlimport commlab testbook < file

Importing into table 'testbook'
Field 1 is 'class' of type char
Field 2 is 'title' of type char
Field 3 is 'auth' of type char
Field 4 is 'pub' of type char
Field 5 is 'pdate' of type char
Field 6 is 'sdate' of type char
Field 7 is 'cost' of type char
Field 8 is 'site' of type char
Field 9 is 'state' of type char

STDIN을 통해 입력해야 하므로 파일로부터 입력하기위해서는 Redirection을 사용한다.

% msqlexport commlab book < file
msqldump

테이블 스키마를 포함한 전 데이터베이스의 SQL문을 ASCII로 저장하는데 사용된다. 사용형식

msqldump [-h host] [-f conf] database [table]

-h:		원격 호스트의 주소
-f:		설정파일명
database:	데이터베이스의 이름
table: 		테이블의 이름
사용예

msqldump commlab book 

#
# mSQL Dump  (requires mSQL 2.0 Beta 5 or newer)
#
# Host: localhost    Database: commlab
#--------------------------------------------------------


#
# Table structure for table 'book'
#
CREATE TABLE book (
  class CHAR(8),
  title CHAR(80),
  auth CHAR(20),
  pub CHAR(30),
  pdate CHAR(8),
  sdate CHAR(8),
  cost CHAR(6),
  site CHAR(8),
  state CHAR(8)
) \g

INSERT INTO book  VALUES ('COMM-MOD','Digital Communications','I. A. Glover','Pr
entice-Hall','19980101','19980105','12000','','304')\g
INSERT INTO book  VALUES ('COMP-MAN','SoftICE - Command Reference','NuMega','NuM
ega','19960101','19970204','5000','','집')\g

STDOUT으로 출력되므로 파일로 저장하기위해서는 Redirection을 사용한다.

% msqldump commlab book > file


다음글: 제 4강 - mSQL - 테이블의 생성과 삭제 (6066)1996-05-04
이전글: 제 2강 - 데이터베이스 통로(Database Gateway) - 변경중 (4578)1996-05-02

세상사는 이야기

  • 윈도 10, 한영 전환도 >
  • 바보도 할 수 있는 War >
  • 북마크에도 확장 아이 >
  • 크롬은 가라, 비발디가 >
  • 감히 아이폰 관리의 최 >
  • 디지털 노마드의 편집 >
  • [블로그 복귀 알림] 새 >
  • 오타도 즐거운 안드로 >
  • 최고의 OCR 어플, Text >
  • 누구나 할 수 있는 순 >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2014 QAOS.com All rights reserved.