D语言中国主页  D语言编辑器SciTE4D   DWin库 D语言官方网站
D语言编译器1.x最新版 OpenSource   Tango   webnews  Wiki

查看完整版本: sqlite一个轻巧的数据库

yidabu 2007-1-13 18:35

sqlite一个轻巧的数据库


sqlite一个轻巧的数据库

知识若不分享 实在没有意义 http://www.yidabu.com 20070113
点击下面网址查看原文:http://bbs.d-programming-language-china.org/thread-110-1.html

今天在不同的地方看到有关这个数据库软件的名字,好奇心驱使下我来到了sqlite.org站点,查看了关于它的介绍,并下载了windows下的执行码和python绑定包。

windows版根本不用安装,解开到任何地方即可。它只有一个执行码。它的设计目标是嵌入式的,从而不需要server进程。运行时只要后面带上文件名,那么那个文件就会做为你的库文件而使用。如:sqlite d:\mydb.db。它支持大部分的SQL命令,这是一个列表:

ATTACH DATABASE        BEGIN TRANSACTION        comment        COMMIT TRANSACTION        COPY        CREATE INDEX        CREATE TABLE        CREATE TRIGGER        CREATE VIEW        DELETE        DETACH DATABASE        DROP INDEX        DROP TABLE        DROP TRIGGER        DROP VIEW        END TRANSACTION        EXPLAIN        expression        INSERT        ON CONFLICT clause        PRAGMA        REPLACE        ROLLBACK TRANSACTION        SELECT        UPDATE        它还提供了虚拟机用于处理sql语句,这是一个很有趣的东西。支持事务功能。

Python的绑定安装也很简单,下载安装包执行后一切就OK了。运行一下,很正常。

看一看在一些简单语句的处理性能与mysql和postgreSQL的比较,除了一些不常用的语句外,竟然比其它两个都快,了不起。

它还有Tcl, PHP, Java的绑定。甚至还有ODBC接口。

这些东西全部是免费的。

我想以后做些小东西,用它保存数据真是方便不过了。

posted on 2004年03月21日 11:06 PM 收藏此页        Comments        # 回复: sqlite一个轻巧的数据库        Zoom.Quiet        Posted @ 2004-04-23 9:25 AM        咦咦咦?(知识若不分享 实在没有意义 http://www.yidabu.com)

比ZODB 还要轻便哪!马上学习?/p>

# 回复:sqlite一个轻巧的数据库        ibrick        Posted @ 2004-07-04 3:03 AM        我下了一个,但不会用,E文太差了,能介绍一下Python如何使用它吗?        Python的绑定已装好,但文档不太理解,说得简        单了点。        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-07-04 11:30 AM        好的,我回头会写一个简单的入门教程,列出一些基本的操作。有兴趣请关注我的Blog。        # 回复:sqlite一个轻巧的数据库        ibrick        Posted @ 2004-07-04 2:57 PM        太谢谢你了;)        # 回复:sqlite一个轻巧的数据库-一个问题        ibrick        Posted @ 2004-07-07 6:48 PM        用Python处理SQLite时,用什么方法得到数据库有多少表格,每个表格的结构怎么样,有多少记录?看了一下Python-->SQLite 的源码“main.py”,里面有一个PgResultSet好象与此有关,但不知怎么用。能抽空提点一下吗?先谢谢了。。        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-07-07 7:44 PM        现在我还不太知道。因为你不是做一个通用的数据库管理工具,而是针对数据库的一个具体的应用。因此,你肯定是知道库里有多少个表,每个表的字段是什么的。

一个简单的方法,你可以安装sqlite命令行工具。在命令行下,如:        sqlite test.db        sqlite> .schema catalog        你会看到catalog的表结构,在我的示例中为:        create table catalog (        id integer primary key,        pid integer,        name varchar(10) UNIQUE        );        create index catalog_idx on catalog (id asc);        可以看到建表的语句,表中的字段,是否有主键等等,还有索引信息。

不知这样是否可以满足你的需要?        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-07-07 7:49 PM        在sqlite命令行下,执行        sqlite>.tables        就可以知道有哪些表名了。

想知道有多少记录,可以执行        sqlite>select count(*) from catalog;        1        后面的分号一定要写。(知识若不分享 实在没有意义 http://www.yidabu.com)

# 回复:sqlite一个轻巧的数据库        ibrick        Posted @ 2004-07-07 10:31 PM        非常感谢你的帮助,本来我就对.schema的用途搞不清,现在知道了,真好!        E文太差害人啊!        刚下载了PySQLite(0.5.0) for linux 的包,里面有例子,大乐中!!        粗看了一下,应该能解决我的问题,搞懂了贴上,你再指点一二,好吗?        原先我下载的是for win的,里面文档、例子都没有,连测试也没,气闷!! 这是系统歧视?:-(        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-07-07 11:41 PM        在数据库理论中表的英文就有用schema的,有的使用table。有什么想法可以交流。其实我sqlite我用得也不多,但感觉用在个人软件中非常方便。我用的就是windows下的,不过是看着主页上的文档(文档中有一些例子),又参考了DB-API的说明来测试的。pysqlite许多地方都是按 DB-API来实现的,有兴趣你可以先了解一个它,再看看pysqlite是否实现了。        # 回复:sqlite一个轻巧的数据库        ibrick        Posted @ 2004-07-08 12:55 AM        知道是按DB-API来实现的,在网上来回搜了N遍,无中文译本,下了DB-API 2.0的网页,慢慢啃,要知道我是不是学计算机的,搞这个是个人兴趣,电脑是用了很多年了,全是自学,一些专用的、比较专业的词(只指英文)不太懂。不会编程是我的遗憾,Python给了机会,所以想好好学学,让电脑真正为我所用。我的周围都是玩游戏的,我是怪物,他们找我一定是电脑完玩了,哈! 不是科班的,周围没有可直接交流的对象,进步?踏步尔矣:<        就说SQLite吧,我早就下了,可我看不懂文档啊,只能慢慢翻译,只是不懂的东西太多,想到了只有苦笑,SQL也没学过,找来了 PostgreSQL 7.2 Documentation,是中文的特感激他们--Postgresql 中文网站。这样东拼西凑,用了能用的所有工具如金山,网上的英->中工具等,到现在还没完成。有时一圈找下来,当初的目的都忘了,真累?br/>        DB-API就是那时了解到的。说了大堆的废话挺乐,感谢你的Blog,你的回复:-)        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-07-08 5:17 PM        原来如此。编程是一件很有趣的事,特别是当你编出的程序对自已的工作,对别人有帮助时你会有一种成就感。这种成就感就是一个程序员的乐趣。有问题或不明白的问题请提出来,我们一起交流。        # 回复:sqlite一个轻巧的数据库        鸭子        Posted @ 2004-09-26 8:53 PM        请教你几个问题啊,我这里正在做一个嵌入式项目的开发,我们看中了SQlite存数据部分。现在由我去熟悉它,但我很有些疑惑:        1、首先,我们这个项目几乎是由java开发的,我不知道怎么和这个用c写的SQlite联系起来,不知道如何用java写的语句访问它        2、你说这个有java绑定,我好象没找到,就看到个什么tcl的绑定啊,就算有了java接口,我该怎么用?        3、我下了个SQlite3.exe,是个dos命令行,你说的什么        sqlite test.db和sqlite d:\mydb.db都说有syntax错误啊??怎么回事?不知道怎么建立一个数据库名为ex1的数据库,还有这个数据库应该是文件的形式建立的,不知道是不是先建立文件,或者这个文件名和数据库名相同~        谢谢了!!?br/>        如果你有qq,能加我qq么?11389698

# 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-09-26 9:47 PM        1.见第2个回答        2.关于Java的绑定我是看到页面上面有介绍,因为我不用Java,所以没有试过。你没找到链接是因为不太仔细。这里是链接:http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers 有了接口就和一般的模块一样调用吧。应该有例子的,可以看一看。        3.我的Blog已经说明“运行时只要后面带上文件名,那么那个文件就会做为你的库文件而使用。如:sqlite d:\mydb.db”,这些我都试过没有问题,不知道你是如何试的。sqlite一个文件就是一个库,在执行sqlite d:\mydb.db时,如果这个文件不存在就会创建一个新的,如果已经存在就打开这个文件。打开一个文件就直接使用它里面的表就可以了,不用再指定数据库的名字。        # 回复:sqlite一个轻巧的数据库        duck        Posted @ 2004-09-27 10:32 AM        我模拟一下它的界面。        一开始运行的时候都是这个样的:        SQLite version 3.0.7        Enter ".help" forinstructions        sqlite>_

我输入sqlite d:\mydb.db

SQLite version 3.0.7        Enter ".help" forinstructions        sqlite> sqlite d:\mydb.db        ...> ;        SQL error:unrecognized token:":"        sqlite>

ps:如果这样输入        sqlite test.db,它是不会出现        sqlite> 等待你输入的,        而是这个...> 好象表示没有结束一样,我加个分号,就出来出错信息了~~就像上面的一样(知识若不分享 实在没有意义 http://www.yidabu.com)

唉,人笨没办法~~~请解答

# 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-09-27 11:56 AM        呵呵。你的错误就是把命令行与sqlite的命令给弄混了。sqlite d:\mytest.db 是在dos命令行下执行的,不是在sqlite自已的shell环境下执行的。再试试吧。        # 回复:sqlite一个轻巧的数据库        duck        Posted @ 2004-09-27 2:54 PM        大哥,你就给我一个痛快吧~~~        不知道你这个命令行从哪来的,总不会是点运行->输入cmd->直接敲sqlite。。。系统也不认啊~~

耙桓黾虻サ姆椒ǎ憧梢园沧皊qlite命令行工具。”不知道怎么安装,是不是装了什么.dll文件,然后配置环境变量,最后就可以了?急死,一个小问题把我搞成这样~~        真正困难的jdbc部分还没开始做呢~~~~哭死~~        # 能不能通过odbc连接sqlite        QQ:304198791        Posted @ 2004-10-09 6:20 PM        能不能通过odbc连接sqlite        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-10-09 8:25 PM        没试过。去sqlite的网站看一看行不行吧。        # 回复:sqlite一个轻巧的数据库        orange        Posted @ 2004-10-22 9:41 AM        鸭子的问题我也遇到了        大哥,这到底怎么回事        到底在哪里输入 sqlite d:\mydb.db        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-10-22 10:18 AM        在命令行啊,兄弟们。        # 回复:sqlite一个轻巧的数据库        devil        Posted @ 2004-10-24 11:38 AM        可以这样操作        # 回复:sqlite一个轻巧的数据库        cjs        Posted @ 2004-10-27 8:44 AM        我想用C来调用,怎么做呀?谁能够翻译一下SQLITE函数的功能说明。        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-10-27 7:22 PM        在C下调用应该和一般的库方法一样,我没有试过,不过一般在C下调用一个库不外乎包含头文件,调用函数,可能有一定的调用规则,比如先初始化,然后执行,最后释放。再有就是make时把需要的库加进去。应该就是这样。自已试试吧。        # 回复:sqlite一个轻巧的数据库        tower        Posted @ 2004-10-28 8:54 PM        请问Limodou        我在linux下装的sqlite不知道怎么attach命令,请指点。        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-10-29 3:39 PM        我没有试过。不过它放在语法中应该是可以在api中进行调用的,写在程序中的。在sqlite的交互环境下好象不可以直接这样做。        # 回复:sqlite一个轻巧的数据库        imlh        Posted @ 2004-11-01 10:16 PM        大哥,我也想用这个东西啊,你的教程有没有写好啊?可以发出来给兄弟门看看好么?谢谢了,我遇到的问题和那个duck的一样,呵呵,到底怎么才能够用啊? 我门都是文盲,期待着您的点播,请写点详细一点的傻瓜级读物给我们么?谢谢谢谢了        # 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-11-01 11:09 PM        因为我研究的是python。在我的blog中只有关于python的教程。至于duck的问题,那是要在命令行下执行。并且要注意你下的到底是什么版本的。如果是3版,那么执行文件是sqlite3,如果不是,则执行文件是sqlite。

怎么启动sqlite带数据库:

c:\sqlite> sqlite test.db

在dos提示符下运行上面的命令就可以打开一个数据库了。如果这个库文件不存在则会新创建,如果已经存在则打开。剩下许多命令都可以先在启动后的交互环境中学习了。        # 回复:sqlite一个轻巧的数据库        smilerain        Posted @ 2004-11-02 1:06 PM        好东西?br/>        # 回复:sqlite一个轻巧的数据库        studysqlite        Posted @ 2004-11-12 10:42 AM        c:\sqlite>命令行如何对已经存在的表结构中的字段进行增加或减少?        我想给一个已经存在的表中增加一个字段,以前建表的时候漏了,现在添加记录时发现少了一个字段,怎么增加啊?

# 回复:sqlite一个轻巧的数据库        limodou        Posted @ 2004-11-12 10:47 AM        好象sqlite现在不支持改表结构。只能删了重建。        # 回复:sqlite一个轻巧的数据库        phplover        Posted @ 2004-12-15 3:58 AM        谢谢limodou,看了你的文章清晰多了^_^        # PySqlite简明教程

http://doc.zoomquiet.org/data/20041225152743/
(lastupdate:20070122 最新文章请访问http://www.yidabu.com)
关于一大步成功社区:yidabu.com提倡在交流中学习,在分享中提高收集感兴趣的知识,写下心得,通过网络与别人一起分享理解一点就实践一步,收获什么就分享什么,成功就是这样一点点一步步累积起来的网络只是一个工具,只有自己身心提高才是实实在在的。d-programming-language-china.org为大家提供一个学习交流各种知识的平台

tytyty 2007-1-23 19:29

就不知道这种数据库稳定性如何,有没有实用价值……
多谢楼主分享……楼主辛苦了……

yidabu 2007-1-24 13:08

小应用吧,比如在exe程序中带的数据库用 sqlite就很不错。

sleets 2007-8-1 20:04

已经有很多软件在用这个数据库了,它在低并发情况下速度非常快。很适合做一些配置管理工作。
据我所知一些cs服务器就是用它保存的用户资料。很多ftp或其他带大量配置性质的软件也用它做存储。自php5起也把它作为默认数据库。
它可以创建为基于内存的数据库,对于一些复杂的排序和分类工作用它建临时表处理速度上有很大提升。

如果是高并发情况,用它就不合适了。
页: [1]
查看完整版本: sqlite一个轻巧的数据库