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

news2024/9/20 21:26:43

目录

引言

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1995559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp项目-购物商城【无接口,下载改appid即可使用】

🤹‍♀️潜意识起点:个人主页 🎙座右铭:得之坦然,失之淡然。 💎擅长领域:大前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我…

零样本学习——从多语言语料库数据中对未学习语言进行语音识别的创新技术

引言 在全球众多的语言中,只有极少数的语言在语音识别领域取得了显著的进展。这种不平衡现象的主要原因是,现有的语音识别模型往往依赖于大量的标注语音数据,而这些数据对于许多语言来说难以获得。 近年来,尽管语音识别技术取得…

6.3 第三方库的安装与使用

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

英镑与日元:货币市场的双重挑战

一、英镑的波动与策略 近期,英镑兑所有主要货币出现大幅下挫,尤其是在7月,英镑成为投机市场最大的净多头仓位。然而,上周英镑抹去了第二季的大部分涨幅,主要受到英国央行对利率前景的鸽派重新定价的影响,以…

【生信入门】预览快速体验Linux-重生之小明闯Linux

生信少走弯路,快试试生信云专用服务器。新用户注册免费体验5小时。https://www.tebteb.cc 一.故事 小明的Linux冒险 在一片混沌的黑暗中,小明睁开了眼睛。他感到头痛欲裂,四周一片漆黑,只有一行闪烁的字符映入眼帘: [xiaomingu…

如何实现Redis和Mysql中数据双写一致性

在我们的实际开发中,我们用到了redis缓存一些常用的数据(如热点数据)用来提高系统的吞吐量。 但是不可以避免的出现了数据的修改场景,这就导致了数据库中的数据和Redis中出现不一致性的情况。如何保证数据一致性就显得非常重要了&…

H3C智能管理中心byod/index.xhtml接口存在远程命令执行漏洞

@[toc] H3C智能管理中心byod/index.xhtml接口存在远程命令执行漏洞 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学…

C++基础编程的学习3

nullptr关键字 在C11之前,空指针通常用NULL或0表示。然而,这些表示方法存在类型安全问题。C11引入了nullptr关键字,它提供了一个明确的、类型安全的空指针值。 Lambda表达式 Lambda表达式是C11引入的一种便捷的匿名函数定义方式。当Lambda…

海量数据处理商用短链接生成器平台 - 12

第三十五章 微信支付Native订单API测试实战和签名流程解读 第1集 微信支付-快速验证参数配置方法和统一下单接口开发 简介:微信支付-快速验证参数配置方法和统一下单接口开发 接口文档 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_1.shtml 编码实…

03_Electron 主进程和渲染进程、点击(拖放)打开文件功能

Electron 主进程和渲染进程 一、Electron 主进程和渲染进程二、Electron 主进程和渲染进程中使用 Nodejs 以及 Nodejs 第三方模块2.1、主进程中使用 Nodejs 模块2.2、渲染进程中 使用 Nodejs 模块2.3、BrowserWindow 中通过 preload加载的js 文件可以直接使用nodejs 模块2.4、渲…

大小仅为Rust四分之一!MoonBit 现已支持Wasm组件模型

使用 MoonBit 开发 Wasm 组件模型 Wasm组件 WebAssembly(Wasm)是一种新的低级虚拟指令集标准(low-level virtual instruction set standard),用于沙箱模型。低级的,意味着它接近原生速度。虚拟的&#xff…

全网最最最全的LVS详解!!!

1 LVS-集群和分布式 1.1 集群 LVS(Linux Virtual Server)集群,即Linux虚拟服务器集群,是一个在Unix/Linux平台下实现负载均衡集群功能的系统。它由国人章文嵩博士在1998年开发,是中国国内最早出现的自由软件项目之一…

yolov8 剪枝 - DepGraph

2024年8月5 5000张图片,2个类别。 yolov8n 初始: 185 layers, 3151904 parameters, 31936 gradients, 8.7 GFLOPs 经过三次finetune后: 185 layers, 2327024 parameters, 31936 gradients, 6.6 GFLOPs 经过第四次fintune后: …

“write()” 与 “ tcp缓冲区 ” 之间的关系

write()写入tcp缓冲区过程 write()将该文本写入到tcp缓冲区中本质是数据的拷贝,当write()调用完,数据不一定发给tcp发送缓冲区中 因为: 有没有拷贝成功,都不由write(&a…

史上最全Java初、中、高三级都适用的面试八股文(2024版含答案)

在Java编程的世界里,无论你是初出茅庐的新人,还是已经有一定经验的中级开发者,抑或是寻求突破的高级工程师,面试时总有一套通用的“八股文”知识点,就像是每位程序员的必备宝典。这套2024版的Java面试指南,…

mma.sync.aligned.m16n8k16.row.col.f16.f16.f16.f16测试

mma.sync.aligned.m16n8k16.row.col.f16.f16.f16.f16测试 1.参考文档2.numpy测试3.cuda kernel测试4.相关截图 本文演示了如何按PTX指令文档中的layout格式要求,加载数据,执行mma指令,并且跟numpy对比结果的一致性 1.参考文档 Matrix Fragments for mma.m16n8k16 with floatin…

MAVSDK添加自定义消息与函数实现云台(Gimbal)调整功能

1.找到action.proto文件并添加如下消息 2. 定义RPC方法AdjustGimbal方法如下: 3.运行generate_from_protos.sh重新根据.proto生成.cpp与.h文件 生成过程 生成完成 4. .proto生成的.h文件,成功包含同步与异步方法声明

零基础转行网络安全真的好就业吗?

网络安全作为近两年兴起的热门行业,成了很多就业无门但是想转行的人心中比较向往但是又心存疑惑的行业,毕竟网络安全的发展史比较短,而国内目前网安的环境和市场情况还不算为大众所知晓,所以到底零基础转行入门网络安全之后&#…

python自动化笔记:excel文件处理及日志收集

目录 一、openpyxl模块1.1、安装:pip install openpyxl1.2、openpyxl模块三大组件1.3、创建excel并写入数据1.4、读取excel 二、日志收集 一、openpyxl模块 1.1、安装:pip install openpyxl 注: openpyxl只支持xlsx格式,xls格式…

10+ Midjourney V6.1 提示:生成精美的角色海报

前言 近期图像生成界最大的更新是MidjourneyV6.1!我迫不及待地想要开始创作和分享,这次分享的重点是V6.1在角色创作方面的增强。 以下是半天测试的结果,包括提示,专注于角色摄影照片和角色插图。 网上关于这方面的教程虽然很多&…