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、PerlPHP 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 \u0026,这样就启动了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,时间,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 指定一个字符集

参考资料


Warning: Invalid argument supplied for foreach() in /www/wwwroot/6gwu.com/id.php on line 283