SQLite 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
SQLite 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
SQLite 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
SQLite 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
SQLite 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Public Domain
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2008-09-05

软件简介

SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。

不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

特征

库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。

多个进程或线程可以访问同一个数据而没有问题。可以并行的满足多个读访问。只有在其他访问当前不被服务的时候才能满足写访问;否则写访问失败并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。

提供了叫做sqlite的一个独立程序用来查询和管理SQLite数据库文件。 它也充当写使用SQLite库的应用的一个例子。

语言绑定

可以从C/C++程序中使用这个库,还可以获得对Tcl和一些其他脚本语言的绑定。

在CPAN的DBD::SQLite上有一个Perl的DBI/DBD模块,它不是到SQLite的接口,而是包括整个SQLite数据库引擎在其中并不需要任何额外的软件。

还有一个Python模块叫做PySQLite。

PHP从PHP5.0开始包含了SQLite,但是自5.1版之后开始成为一个延伸函式库。SQLite能与PHP4一起工作但不包含在其中。

Rails2.0.3将缺省的数据库配置改为了SQLite 3

SQLite管理客户端

SQLite亦可以作为桌面数据库使用,以下为第三方SQLite的GUI软件。例如,

  • SQLiteMan,使用QT开发的一个SQLite客户端,支持多语言、跨平台。SQLiteMan

  • SQLite Manager, 以 火狐浏览器的扩展形式提供的SQLite客户端。

  • SQLite Database Browser, a graphical client to access SQLite databases

  • SqlPro SQL Client, another graphical client to work with SQLite databases

在线文档:http://www.ostools.net/apidocs/apidoc?api=sqlite

展开阅读全文

评论 (10)

加载中
什么时候增加存储过程啊,还有其他的类似sqlite的文件型sql数据库么?带存储过程的
2020/12/04 13:04
回复
举报
突然断电异常关机后,TortoiseSVN svn 客户端 update 的时候报错: Additional errors: sqlite[S11]: database disk image is malformed
2020/05/29 19:41
回复
举报
数据库损坏了
03/29 12:28
回复
举报
嗯,sqlite 的数据库文件损坏了
03/29 17:41
回复
举报
打分: 力荐
非常好的数据库
2017/06/15 16:15
回复
举报
准备试试SQLite
2012/03/20 16:22
回复
举报
血的教训,服务器端不要用sqlite,除非你是sqlite的作者SQLite
2013/04/28 22:15
回复
举报
SQLite 是小型系统的很好的选择
2013/05/18 20:06
回复
举报
#SQLite#中文版的,哪里有???
2015/12/09 17:13
回复
举报
@eechen 大牛,#SQLite# 数据库文件在 Linux 的目录权限 设为 766 还报“SQLSTATE[HY000] 14 unable to open database file”是为啥啊? 54 (项目源码 http://git.oschina.net/Tech_Query/EasyWiki
2016/04/21 18:17
回复
举报
更多评论
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2015/01/23 10:20

SQLite: sqlite_master简介

SQLite数据库中一个特殊的名叫 SQLITE_MASTER 上执行一个SELECT查询以获得所有表的索引。每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 它定义数据库的模式。 SQLITE_MASTER 表看起来如下: CREATE TABLE sqlite_master ( type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql TEXT ); 对于表来说,type 字段永远是 ‘table’,name 字段永远是表的名字。所以,要获得数据库中所有表的列表, 使用...

0
0
发表于数据库专区
2019/04/04 15:23

SQLITE TRIGGERS【Sqlite触发器】

Reference: https://sqlite.org/lang_createtrigger.html http://www.runoob.com/sqlite/sqlite-trigger.html 触发器 触发器是,当特定的数据库事件被触发时,被自动执行的数据库操作。 可以指定触发器在发生特定数据库表的DELETE,INSERT或UPDATE时触发,也可以在表的一个或多个指定列上发生UPDATE时触发。 截止目前的版本(发文时,官网最新的版本是3.27.2),SQLite仅支持FOR EACH ROW触发器,而不支持FOR EACH STATEMENT触发器...

0
0
发表了博客
2019/04/22 23:43

SQLite

SQLite https://en.wikipedia.org/wiki/SQLite SQLite (/ˌɛsˌkjuːˌɛlˈlaɪt/,[4] /ˈsiːkwəl.laɪt/[5]) is a relational database management system contained in a C programming library. In contrast to many other database management systems, SQLite is not a client–server database engine. Rather, it is embedded into the end program. http://www.runoob.com/sqlite/sqlite-tutorial.html SQLite 是一...

1
0
2020/07/22 09:47

sqlite

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。 SQLite 是一个类似Access的轻量级数据库系统,但是更小、更快、容量更大,并发更高。为什么说 SQLite 最适合做 CMS (内容管理系统...

0
1
发表于数据库专区
2015/08/03 15:51

sqlite

1、sqlite3 数据库A.sqlite3 //若A不存在则创建,若存在则打开,但要创建表后才能显示查看 2、.quit //退出 3、.help 4、create table 表1(id integer primary key not null default ‘0’, 字段2 varchar(20)); 5、.tables //显示此数据库下的所有表 6、.schema //建表的模式(个人观点就是建表语句) 7、.mode 显示方式X //X可为:list、line、column。设置后可用select 查看表结构显示方式 例:sqlite> .mode line sqlite> ...

0
0
发表了博客
2014/07/09 23:05

sqlite

五、使用事务操作SQLite数据库 使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。 使用例子如下: SQLiteDatabase db = ....; db.beginTransaction();//开始事务 try {    d...

0
0
发表了博客
2018/07/07 19:12

Sqlite在.NET下的使用和Sqlite数据库清理

原文:Sqlite在.NET下的使用和Sqlite数据库清理 Sqlite 是一款轻量级的关系型数据库,她的好处我就不详细道来了。本文的初衷是为.net平台的使用者提供帮助。 Sqlite有专门为VS2010开发的程序包,大家可以到System.Data.SQLite Download Page 下去下载,注意是:This is the only setup package that is capable of installing the design-time components for Visual Studio 2010. 安装后,在VS2010中新建数数库链接就会看到有S...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2012/12/14 20:16

C#向Sqlite数据库添加数据,添加成功了,但数据库没数据!

SQLiteCommand command = new SQLiteCommand(); SQLiteTransaction sltran = null; try { using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(command, connection, cmdText, p); sltran = connection.BeginTransaction(); command.Transaction = sltran; int count = command.ExecuteNonQuery(); sltran.Commit(); return count; } } catch { sltran.Rollback(); throw; }...

3
0
发表了问答
2016/12/02 22:21

同时包含单双引号的字符串怎样插入到SQlite?

比如: var sql = "update xxx set xxx = '" + str + "' where id = 1;" str为动态获取的字符串,可能包含 “” 或 ‘’ ,且不能替换。 比如str的值可能为: 这是双引号“ 这是单引号‘ 请问这种情况该怎么处理?

5
0
发表于数据库专区
2020/04/17 17:34

SQLite数值查询不匹配的问题

最近遇到一个奇怪的问题。 在SQLite的一个数据表中,START和FINISH两个字段都是INTEGER类型,而且这两个字段都创建了索引,ASC排序。之前一直都是正常的,今天出现下面的情况。 问题1:图中查询结果的START第一个值1586693177很明显比查询条件1587052800小,竟然也能查询出来; 问题2:如果把图中的查询语句FINISH条件放出来,则无法查询出任何记录,事实上库表中有符合条件的数据; 问题3:如果把START和FINISH两个字段的索引删...

3
0
发表了问答
2015/04/19 19:52

sqlite3中,如何指定INTEGER数据类型为无符号整数?

INTEGER可以用来存储一个有符号的整数,范围从-2147483648 到 2147483647, 或者一个无符号的整数,范围从 0到4294967295。 如何指定数据类型为无符号整数呢? UINTEGER?

1
0
发表于数据库专区
2020/02/08 15:43

SQLite3 中找出同时存在于两张表中的记录,并写入新的表中,SQL语句要怎样写呢?

数据库 words 中有两张表: gradedwords 和 classedwords; 表 gradedwords 中有两列:word 和 grade; 表 classedwords 中有两列: word 和 class; 然后我新建了一个表 gradedandclassedwords,表中有三列: word, grade 和 class; 现在我要查找出同时存在于表 gradedwords 和表 classedwords 中的 word,写入表 gradedandclassedwords 中,并匹配相应的 grade 和 class。 这个查询和插入的SQL语句要怎样写呢? 我参考下面的...

1
0
发表了问答
2019/12/08 08:24

【一周】微软开发新语言 | Django 3开始支持异步 | 树莓派4功耗大幅降低速度提升

回顾一周社区热门资讯 第【五十一】期:20191130-20191206 点击相应标题,跳转阅读全文。 PHP 7.4.0 发布 带来类型属性、箭头函数、打包内部数组、弱引用与 Opcache 预加载等特性。 Canonical 制定了针对 Ubuntu 20.04 LTS 的 32 位支持策略 与 libssl 1.0 一样,wine-stable-i386、gcc-8-base 和其他软件包由于过时或其他因素而被移除。与此同时也增加了其他 32 位软件包,其中包括 Freeglut, libv4l, VDPAU 驱动, VA-API 驱动...

8
7
2019/10/31 10:18

Sqlite3读写速度跟什么有关?

用同一个Python脚本,测试读写sqlite3 1000次所用的时间,在四台机器上测试,发现结果差别巨大,搞不清到底跟什么指标有关系。请大神指点。 测试结果如下: (1)个人工作PC,I5-7400,Win10,Python2。 测试结果如下图所示,总耗时178.8秒。 (2)公司40核服务器,Ubuntu,Python2。 测试结果如下图所示,总耗时3.8秒。 (3)徐州租用32核服务器,Ubuntu,Python2。 测试结果如下图所示,总耗时272.8秒。 (4)阿里云1核云主机...

3
0
发表于数据库专区
2019/08/19 13:47

SQLite的Pager具体是怎么实现的,这个组件在SQLite当中很重要的 样子?

SQLite的Pager具体是怎么实现的,这个组件在SQLite当中很重要的 样子? 每个数据对象都有一个B-tree和想赢的一个pager对象,数据库链接对象使用B-tree和pager从数据库中读取数据,向数据库中写入数据。pager负责读写数据库,维护内存缓存或者页面,管理事务,还管理锁和故障恢复

1
0
发表于数据库专区
2019/08/16 14:35

SQLite数据库可以支撑2TB的数据量(受操作系统限制),为什么是2T?

SQLite数据库可以支撑2TB的数据量(受操作系统限制)为什么是2T?

7
0
发表了问答
2013/06/03 13:47

android 开启sqlite RTree模块

各位高手,谁能帮我解答一下啊,这个问题困扰我好几天了。 我用JAVA做Android开发(Eclipse),我的SQLite数据库中有个表用了R*Tree索引,但在调试的时候会出“没有这个模块”的错误,我看了资料说是SQLite默认R*Tree模块是关闭的,但我找了许久也没找到个开启SQLite R*Tree模块的方案,请各位高手给我支个招,帮我解决一下!谢谢各位了!

6
0
发表了问答
2015/10/29 22:39

既然SQLite不支持并发,为什么又说能支持10W次的天访问量?

今天刚刚接触SQLite,看了下官方文档,“ gets fewer than 100K hits/day should work fine with SQLite” ,然后又说 “Many concurrent writers? → choose client/server” 难道10W级别的日访问量不需要并发吗? 就算只有读操作,光是登陆这一下,也要并发写数据库的吧,会不会自相矛盾了?

8
1
发表于数据库专区
2019/06/23 13:40

golang支持的,可加密的文件数据库

如题。可以加密的如sqlite的文件数据库。 最好是go语言有驱动的。 背景:要用go来做一款软件,需要用到数据库,sqlite没有加密功能。

6
0
发表了问答
2019/03/01 11:57

Python爬虫使用浏览器的cookies:browsercookie

如无特殊说明,本文为本站原创,转载请注明出处: 猿人学Python 很多用Python的人可能都写过网络爬虫,自动化获取网络数据确实是一件令人愉悦的事情,而Python很好的帮助我们达到这种愉悦。然而,爬虫经常要碰到各种登录、验证的阻挠,让人灰心丧气(网站:天天碰到各种各样的爬虫抓我们网站,也很让人灰心丧气~)。爬虫和反爬虫就是一个猫和老鼠的游戏,道高一尺魔高一丈,两者反复纠缠。 由于http协议的无状态性,登录验证都是...

1
1
发表于数据库专区
2019/01/24 10:58

SQLite数据库

@ZICK_ZEON 你好,想跟你请教个问题: 您的APP 数据库文件在哪里? 可以看一下吗?

2
0
发表于数据库专区
2018/12/29 09:23

请问怎么在分页查询中返回分页前符合查询条件的记录数?

请问怎么查查询分页中返回符答查询条件的记录总数: select top 10 * from (select row_number() over(order by id asc) as rownumber,* from com_system_menu) temp_row where rownumber>((2-1)*10); 我要的记录数是上面Where rownumber>((2-1)*10)前的所有记录数?...

1
1
2018/09/11 09:24

python mysql和sqlite之间的数据同步

如题,有mysql和sqlite两个数据库,里面有一个相同的表A,在mysql的表A里插入一条记录,需要同步到sqlite的表A里,如何实现,如果一次同步多条记录怎么实现,请教各位大佬指点下。

6
0
发表于数据库专区
2018/04/19 17:40

SQL优化

SELECT       A .*, gjswjg.SWJGMC AS gjswjgmc     FROM       (         SELECT           GJSWJG_DM,           "COUNT" (A .SHXYDM) AS gsdjxxhs,           "COUNT" (             CASE             WHEN GJZT_DM = '1' THEN               1             WHEN GJZT_DM = '2' THEN               1             END           ) AS gjzs,           "COUNT" (             CASE             WHEN (               A .JHBZ = 'Y'               AND nsrxx.NSRZT_DM = '03'             ) THEN               1             END           ) AS yjhzc,           "...

3
0
发表了问答
2016/10/21 10:12

[Android Studio]SQLScout插件安装破解

想当初很长一段时间内不想用Android Studio而喜欢用Intellij IDEA(旗舰版)其中一个原因就是因为Intellij IDEA(旗舰版)自带Database Explorer功能便于调试,终于找到了这个Android Studio的插件可以用了,下载试用,满意!就是这个感觉!可惜需要付费,还有点小贵--,囊中羞涩,所以只好亲自手动破解,大家好孩子别轻易尝试。。。 传送门:http://www.cnblogs.com/tiantianbyconan/p/5972138.html...

1
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
10 评论
338 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部