SQLite 数据库安装及使用(Linux)

目录

引言

[SQLite 的特点](#SQLite 的特点)

[SQLite 的应用场景](#SQLite 的应用场景)

SQLite数据库的安装

方法一:使用包管理器安装

[方法二: 从源码编码安装](#方法二: 从源码编码安装)

SQLite数据库的基础命令

1.系统命令

2.SQL命令

sqlite编程接口


引言

SQLite 是一种轻量级的数据库管理系统,它不需要配置、不需要服务器、不需要运行时的管理。SQLite 实际上是一个嵌入式 SQL 数据库引擎,它允许应用程序以数据库的形式存储、管理和查询数据,而且这一切都是在程序内部完成的,无需依赖外部数据库服务器。

SQLite 的特点

  1. 轻量级:SQLite 的数据库就是一个磁盘上的文件,通常只有几百 KB 大小,这使得它非常适合作为应用程序的组成部分。
  2. 独立性:SQLite 不需要服务器进程或操作系统的支持来运行。读写数据库时,它使用标准的 C 库来调用文件系统。
  3. 零配置:使用 SQLite,您不需要安装或配置数据库服务器。
  4. 事务性:SQLite 完全支持事务,包括原子性、一致性、隔离性和持久性(ACID)等特性。
  5. 跨平台:SQLite 可以在许多不同的操作系统上运行,包括 Windows、Linux、macOS、iOS、Android 等。
  6. 高可用性:SQLite 可以在高并发的环境中运行,并且提供了多种锁定机制来管理对数据库的并发访问。
  7. 功能丰富:尽管 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,失败返回错误码

更多可查看官网

https://www.sqlite.org/c3ref/funclist.html

相关推荐
minji...16 分钟前
MySQL数据库 (五) MySQL表的约束(上),非空约束,默认值约束,零填充约束,主键约束,符合主键
数据库·mysql·表的约束·主键约束·非空约束·复合主键·零填充约束
拾贰_C33 分钟前
【python | installation 】python 安装 | Windows | 命令使用
linux·数据库·ubuntu
无限进步_41 分钟前
Linux进程终止——退出码、exit与_exit
linux·运维·服务器
编程大师哥42 分钟前
最高效的 IO 并发方案
linux·网络·python
贺今宵44 分钟前
Vue 3 + Capacitor 使用jeep-sqlite,web端使用本地sqlite数据库
前端·数据库·vue.js·sqlite·web
列星随旋1 小时前
MySQL面经整理
数据库·mysql
AllData公司负责人1 小时前
大模型赋能AllData数据中台,系列升级|通过联合智谱大模型与Chat2DB开源项目,建设Text2SQL生产场景全新体验的数据源平台!
数据库·人工智能·text2sql·数据中台·数据源·chat2db·智谱大模型
炘爚1 小时前
phase1:基础框架——编译 + MySQL + 登录/注册
linux·c++
小蜗子1 小时前
Windows 11 + RTX 5060 + WSL2 Ubuntu + NVIDIA DGL 容器
linux·运维·ubuntu
minji...2 小时前
MySQL数据库 (四) MySQL的数据类型,tinyint,float,decimal,枚举enum和集合set
数据库·mysql·tinyint·enum·decimal·varchar·bit