Linux 基础入门操作 第十三章 嵌入式数据库介绍1
1 SQLite 介绍
1.1 概述
SQLite 是一个轻量级的、嵌入式的关系型数据库管理系统。与传统的数据库(如 MySQL、PostgreSQL)不同,SQLite 无需安装独立的数据库服务器,其数据库引擎直接集成在应用程序中,使用非常简单,适合资源受限或对数据存储要求不高的场景。
SQLite 的最大特点是“轻量”和“零配置”:所有数据都保存在一个普通的文件中,开发者只需引入 SQLite 库,即可在本地读写数据,无需联网、无需配置数据库账户或权限控制等复杂操作。它支持标准的 SQL 语法,具备事务处理能力,保证数据的一致性和可靠性。
SQLite 广泛应用于手机应用(如 Android、iOS)、嵌入式设备、桌面软件和浏览器中。例如,微信、支付宝等 App 中用于本地缓存数据的数据库就是 SQLite。它同样也适用于快速原型开发、单用户程序、或对数据并发访问要求不高的小型系统。
虽然 SQLite 性能优秀,但由于其写入操作不支持高并发,因此不适合大型分布式系统或复杂的 Web 服务场景。但在数据规模较小、系统架构简单的项目中,它以其易用性和高效率受到开发者广泛欢迎。
QLite 是一种采用 C 语言开发的嵌入式数据库。SQLite 的目标是尽量简单,因此它抛弃了传统企业级数据库的种种复杂特性,只实现那些对于数据库而言非常必要的功能。尽管简单性是 SQLite 追求的首要目标,但是其功能和性能都非常出色。
SQLite 具有这样一些特点:
1)ACID 事务
2)零配置 – 无需安装和管理配置
3)储存在单一磁盘文件中的一个完整的数据库
4)数据库文件可以在不同字节顺序的机器间自由的共享
5)支持数据库大小至 2TB
6)足够小, 大致 3 万行 C 代码, 250K
7)比一些流行的数据库在大部分普通数据库操作要快
8)简单, 轻松的 API
9)包含 TCL 绑定, 同时通过 Wrapper 支持其他语言的绑定
10)良好注释的源代码, 并且有着 90%以上的测试覆盖率
11)独立: 没有额外依赖
12)Source 完全的 Open, 你可以用于任何用途, 包括出售它
13)支持多种开发语言,C, PHP, Perl, Java, ASP.NET,Python
由于 SQLite 具有功能强大、接口简单、速度快、占用空间小这样一些特殊的优点,因此特别适合于应用在嵌入式环境中。SQLite 在手机、PDA、机顶盒等设备上已获得了广泛应用。
1.2 安装
在 Ubuntu 系统中安装 SQLite 十分简单,只需通过终端使用 apt 包管理器即可完成。
sudo apt update # 更新软件包列表
sudo apt install sqlite3 # 安装 SQLite 主程序
安装完成后,可以使用以下命令验证是否成功:
sqlite3 --version
1.3 安装 SQLite 工具
如果你希望使用图形界面来管理数据库,可以安装如下工具:
sudo apt install sqlitebrowser
安装完成后,在“应用程序”中搜索 DB Browser for SQLite 启动。
2 sqlite的应用
由于早期的 SQLite 只支持 5 个 C/C++接口,因而非常容易学习和使用,但是随着 SQLite 功能的增强,新的 C/C++接口不断的增加进来,到现在有超过 150 个不同的 API 接口。这往往使初学者望而却步。幸运的是,大多数 SQLite 中的 C/C++接口是专用的,因而很少被使用到。尽管有这么多的调用接口,核心的API 仍然相对简单和便于调用。
2.1 sqlite基本操作
2.1.1 数据库操作
-- 创建数据库(在 SQLite 中直接创建文件)
sqlite3 mydb.db -- 命令行中执行,创建并进入数据库