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: 데이타베이스 삭제
% 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
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을 사용한다.