SQLite3 使用教学
嵌入式数据库通常与操作系统和具体应用集成在一起,无须独立运行的数据库引擎,由程序直接调用相应的 API 去实现对数据的存
取操作。更直白地讲,嵌入式数据库是一种具备了基本数据库特性的数据文件。嵌入式数据库与其它数据库产品的区别是,前者是程序
驱动式,而后者是引擎响应式。嵌入式数据库的一个很重要的特点是它们的体积非常小,编译后的产品也不过几十 KB,在一些移动设备
上极具竞争力。
SQLite 有以下特性:支持 ACID 事务;零配置一无需安装和管理配置;储存在单一磁盘文件中的一个完整的数据库;数据库文件可
以在不同字节顺序的机器间自由共享;支持数据库大小至 2TB;足够小,全部源码大致 3 万行 c 代码,250KB;比目前流行的大多数数
据库对数据的操作要快;提供了对事务功能和并发处理的支持,应用 Transaction 既保证了数据的完整性,也会提高运行速度,因为多条
语句一起提交给数据库的速度会比一条一条的提交方式更快;独立,没有额外依赖。
OS X 自从 10.4 后把 SQLite 这套相当出名的数据库软件,放进了作业系统工具集里。OS X 包装的是第三版的 SQLite,又称 SQLite3。这
套软件有几个特色:
软件属于公共财(public domain),SQLite 可说是某种「美德软件」(virtueware),作者本人放弃着作权,而给使用 SQLite
的人以下的「祝福」(blessing):
o May you do good and not evil. 愿你行善莫行恶
o May you find forgiveness for yourself and forgive others. 愿你原谅自己宽恕他人
o May you share freely, never taking more than you give. 愿你宽心与人分享,所取不多于你所施予
支援大多数的 SQL 指令(下面会简单介绍)。
一个档案就是一个数据库。不需要安装数据库服务器软件。
完整的 Unicode 支援(因此没有跨语系的问题)。
速度很快。
目前在 OS X 10.4 里,SQLite 是以/usr/bin/sqlite3 的形式包装,也就说这是一个命令列工具,必须先从终端机(Terminal.app 或其他程序)
进入 shell 之后才能使用。网络上有一些息协助使用 SQLite 的视觉化工具,但似乎都没有像 CocoaMySQL(配合 MySQL 数据库使用)那
般好用。或许随时有惊喜也未可知,以下仅介绍命令列的操作方式。
SQLite 顾名思议是以 SQL 为基础的数据库软件,SQL 是一套强大的数据库语言,主要概念是由「数据库」、「资料表」(table)、「查
询指令」(queries)等单元组成的「关联性数据库」(进一步的概念可参考网络上各种关于 SQL 及关联性数据库的文件)。因为 SQL 的
查询功能强大,语法一致而入门容易,因此成为现今主流数据库的标准语言(微软、Oracle 等大厂的数据库软件都提供 SQL 语法的查询
及操作)。
以下我们就建立数据库、建立资料表及索引、新增资料、查询资料、更改资料、移除资料、sqlite3 命令列选项等几个项目做简单的介绍。
目录
1 建立数据库档案
2 在 sqlite3 提示列下操作