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

相关推荐
牧以南歌〆3 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
互联网搬砖老肖3 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
夜月yeyue4 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
典学长编程4 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
kfepiza4 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
积跬步,慕至千里5 小时前
clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
数据库·clickhouse
极限实验室5 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
数据库
cuijiecheng20185 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
白仑色6 小时前
Oracle PL/SQL 编程基础详解(从块结构到游标操作)
数据库·oracle·数据库开发·存储过程·plsql编程
程序猿小D7 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的个人财务管理系统,推荐!
java·数据库·mysql·spring·毕业论文·ssm框架·个人财务管理系统