目录
引言
SQLite 是一种轻量级的数据库管理系统,它不需要配置、不需要服务器、不需要运行时的管理。SQLite 实际上是一个嵌入式 SQL 数据库引擎,它允许应用程序以数据库的形式存储、管理和查询数据,而且这一切都是在程序内部完成的,无需依赖外部数据库服务器。
SQLite 的特点
- 轻量级:SQLite 的数据库就是一个磁盘上的文件,通常只有几百 KB 大小,这使得它非常适合作为应用程序的组成部分。
- 独立性:SQLite 不需要服务器进程或操作系统的支持来运行。读写数据库时,它使用标准的 C 库来调用文件系统。
- 零配置:使用 SQLite,您不需要安装或配置数据库服务器。
- 事务性:SQLite 完全支持事务,包括原子性、一致性、隔离性和持久性(ACID)等特性。
- 跨平台:SQLite 可以在许多不同的操作系统上运行,包括 Windows、Linux、macOS、iOS、Android 等。
- 高可用性:SQLite 可以在高并发的环境中运行,并且提供了多种锁定机制来管理对数据库的并发访问。
- 功能丰富:尽管 SQLite 的设计是轻量级的,但它提供了丰富的 SQL 语言支持,包括触发器、视图、索引等。
SQLite 的应用场景
- 移动应用开发:SQLite 是 Android 和 iOS 平台上的标准数据库解决方案,用于存储应用程序的本地数据。
- 桌面应用开发:对于需要轻量级数据库支持的桌面应用程序,SQLite 是一个很好的选择。
- 嵌入式系统和设备:由于 SQLite 的轻量级和独立性,它非常适合用于嵌入式系统和设备,如智能家居设备、传感器网络等。
- 测试和开发:在数据库应用的开发和测试阶段,SQLite 可以作为一个快速原型数据库来使用。
SQLite数据库的安装
方法一:使用包管理器安装
1.更新软件包列表
sudo apt update
2.安装sqlite3
sudo apt install sqlite3
3.验证安装
sqlite3
安装成功
方法二: 从源码编码安装
1.下载SQlite源码:
https://www.sqlite.org/SQLite的官网https://www.sqlite.org/下载
或者直接使用wget命令从命令行下载
wget https://www.sqlite.org/2024/sqlite-autoconf-3460000.tar.gz
2.解压源码包
使用tar命令解压下载的源码包
tar -zxvf sqlite-autoconf-3460000.tar.gz
3.编译安装
进入解压后的源码目录
执行make
命令进行编译
make
执行sudo make install
命令进行安装
sudo make install
验证同上
SQLite数据库的基础命令
1.系统命令
以“.”开头,常用命令如下:
.databases:显示当前连接的所有数据库
.schema:查看当前数据库中所有表的创建语句。
.tables:列出当前数据库中的所有表名
.quit 或 .exit:退出SQLite命令行工具
.help:显示帮助信息,列出所有可用的系统命令和SQL命令
.show:列出当前显示格式的配置,如模式、列宽、分隔符等
2.SQL命令
1.创建数据库
sqlite3 数据库名.db
2.创建表
create table 表名 (列名1 数据类型, 列名2 数据类型, ...);
3.删除表
drop table 表名
4.插入数据
insert into 表名 (列名1, 列名2, ...) values (值1, 值2, ...);
5.更新数据
update 表名 SET 列名1 = 值1, 列名2 = 值2, ... where 条件;
6.删除数据
delete from 表名 where 条件;
7.查询数据
select 列名1, 列名2, ... from 表名 where 条件;
sqlite编程接口
打开一个数据库
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
执行一条sql语句
int sqlite3_exec(
sqlite3*, /* An open database */
const char *sql, /* SQL to be evaluated */
int (*callback)(void*,int,char**,char**), /* Callback function */
void *, /* 1st argument to callback */
char **errmsg /* Error msg written here */
);
关闭数据库
int sqlite3 close(sqlite3 *db);
功能:关闭sqlite数据库
返回值:成功返回0,失败返回错误码
更多可查看官网