mSQL

mSQL(mini SQL)是一個單用戶資料庫管理系統,個人使用免費,商業使用收費。由於它的短小精悍,使其開發的套用系統特別受到網際網路用戶青睞。

簡介

mSQL(mini SQL)由於它的短小精悍,使其開發的套用系統特別受到網際網路用戶青睞。mSQL(mini SQL)是一種小型的關係資料庫,性能不是太好,對SQL語言的支持也不夠完全,但在一些網路資料庫套用中是足夠了。由於mSQL較簡單,在運行簡單的SQL語句時速度比MySQL略快,而MySQL線上程和索引上下了功夫,運行複雜的SQL語句時比mSQL,PostgreSQL等都要快一些。

技術特點

mSQL的技術特點:安全性方面,mSQL通過ACL檔案設定各主機上各用戶的訪問許可權,預設是 全部可讀/寫。mSQL缺乏 ANSI SQL 的大多數特徵,它僅僅實現了一個最最少的API,沒有事務和參考完整性。mSQL與Lite(一種類似C的腳本語言,與分發一起發行)緊密結合,可以得到一個稱為 W3-mSQL的一個網站集成包,它是JDBC、ODBC、Perl和PHP API. 目前,mSQL以兩種形式發布,一種是以RPM軟體包方式,另一種是用tar壓縮的原始碼方式。對於RPM軟體包方式的軟體包安裝很簡單,只用一條命令就可以完成:Rpm –ivh msql-3.7.rpm。

而對於以原始碼方式發布的mSQL安裝則要麻煩一些。首先用gunzip解壓軟體包“gunzip msql一3.7.tar.gz”;接著用。setup進行設定編譯選項;然後就可以開始編譯mSQL源程式“make all”l最後執行“make install” 即可完成安裝。

在實際套用中我們改動得最多的是mSQL—User 和Admin—User這兩個參數。mSQL—User指明運行mSQL資料庫服務程式的用戶,而Admin—User指明能對mSQL資料庫系統執行特權操作(如:關閉資料庫服務程式的運行,創建資料庫等操作)的用戶。因此,如果你希望mSQL服務程式以database這個用戶運行,指定admin這個用戶能執行資料庫操作,你要將mSQL—User和Admin—User所在的行分別改為:mSQL—User = database和Admin—User = admin.另外你還必須將Hughes目錄下的檔案和目錄的屬主改為database.在配置完成後,註銷當前用戶的身份,重新以msql.conf的參數 mSQL—User設定的用戶登錄到系統,進入/usr/local/Hughes/bin目錄鍵入如下的命令:。/msql3d &,這樣就啟動了mSQL資料庫系統。

配置檔案

msql.conf典型配置檔案如下:

# msql.conf - Configuration file for Mini SQL Version 3

# This configuration sets all options to their default values.

# Note : %I is expanded to the value of the Inst_Dir element is included in a value.

[general]

Inst_Dir = /usr/local/msql3

mSQL_User = daemon

Admin_User = root

Pid_File = %I/msql3.pid

TCP_Port = 1114

UNIX_Port = %I/msql3.sock

[system]

Msynch_Timer = 30

Host_Lookup = True

Read_Only = False

Num_Children = 3

Table_Cache = 8

Sort_Max_Mem = 1000

Force_Munmap = False

Query_Log = False

Update_Log = False

Local_Access = True

Remote_Access = False

資料庫的使用

整型(xxxint)

1.

整型(xxxint)

MySQL數據類型含義

tinyint(m)

1個位元組表示(-128~127)

smallint(m)

2個位元組表示(-32768~32767) mediumint(m)

3個位元組表示(-8388608~8388607)

int(m)

4個位元組表示(-2147483648~2147483647) bigint(m) 8個位元組表示

(+-9.22*10的18次方) 2.浮點型

(float和double)

MySQL數據類型

含義

float(m,d) 單精度浮點型,8位精度(4位元組),m是十進制數字的總個數,

d是小數點後面的數字個數double(m,d) 雙精度浮點型,16位精度(8位元組)

參數m只影響顯示效果,不影響精度,d卻不同,會影響到精度。比如設一個欄位定義

3.定點數(decimal)

decimal(m,d) 定點類型浮點型在資料庫中存放的是近似值,而定點類型在資料庫中存放的是精確值。

參數

m是定點類型數字的最大個數(精度),範圍為0~65,d小數點右側數字的個數,範圍為0~30,但不得超過m。對定點數的計算能精確到65位數字。

4.字元串(char,varchar,xxxtext)

MySQL數據類型

含義

char(n) 固定長度的字元串,最多

255個字元varchar(n) 固定長度的字元串,最多

65535個字元tinytext 可變長度字元串,最多

255個字元text 可變長度字元串,最多

65535個字元mediumtext 可變長度字元串,最多

2的24次方-1個字元longtext 可變長度字元串,最多

2的32次方,-1個字元

5.二進制數據

(xxxBlob)

XXXBLOB

和xxxtext

是對應的,不過存儲方式不同,xxxTEXT是以文本方式存儲的,如果存儲英文的話區分大小寫,而xxxBlob 是以二進制方式存儲的,不區分大小寫。

xxxBlob

存儲的數據只能整體讀出。

xxxTEXT

可以指定字元集,

xxxblob

不用指定字元集。

6.日期時間類型 (date,time,datetime,timestamp)

MySQL

數據類型

含義

date

日期

'2008-12-2'

time

時間

'12:25:36'

datetime

日期時間

'2008-12-2 22:06:44'

timestamp 不固定

timestamp 比較特殊,如果定義一個欄位的類型為

timestamp,這個欄位的時間,會在其他欄位修改的時候自動刷新。所以這個數據類型的欄位可以存放這條記錄,最後被修改的時間,而不是真正來的存放時間。

7.數據類型的屬性

MySQL 關鍵字

含義

NULL 數據列可包含

NULL值

NOT NULL 數據列不允許包含

NULL 空值

DEFAULT xxx 默認值,如果插入記錄的時候沒有指定值,將取這個默認值

PRIMARY KEY 主鍵

AUTO_INCREMENT

遞增,如果插入記錄的時候沒有指定值,則在上一條記錄的值上加

1. 僅適用於整數類型

UNSIGNED 無符號

CHARACTER SET

name 指定一個字元集

相關詞條

相關搜尋

熱門詞條

聯絡我們