展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 系统应用 > Linux怎么安装SQLite 3并进行基本操作 Linux嵌入式数据库详解

Linux怎么安装SQLite 3并进行基本操作 Linux嵌入式数据库详解

SQLite是嵌入式常用数据库,Linux多预装命令行工具,C开发需另装开发包。使用时要区分点开头的元命令和以分号结尾的SQL语句,避免操作无响应。注意验证安装、正确使用分号及区分命令类型,可防止常见操作错误。

在嵌入式开发和轻量级数据存储领域,SQLite 几乎是一个绕不开的名字。它以其零配置、无服务器、单文件数据库的特性,赢得了从移动应用到桌面软件的广泛青睐。不过,对于刚接触它的开发者来说,从安装到第一个成功的查询,中间可能会遇到几个不大不小的“门槛”。今天,我们就来把这些常见的坑点捋清楚。

Linux怎么安装SQLite 3并进行基本操作 Linux嵌入式数据库详解

确认系统是否已自带 sqlite3

好消息是,现在绝大多数主流的 Linux 发行版,比如 Ubuntu 22.04 及以后版本、Fedora、Debian 这些,默认就已经预装了 sqlite3 命令行工具。验证方法很简单,打开终端输入 sqlite3 --version,如果看到类似 3.37.2 的版本号输出,那就说明工具本身是可用的。

但这里有个关键点需要划重点:能运行命令行工具,不等于能进行 C 语言开发。这两者是两码事。

新手容易在这里产生误判:

  • 执行 which sqlite3 命令有输出,只代表终端能找到这个程序,但编译 C 程序时需要的头文件(比如 sqlite3.h)可能并不存在。缺少开发包,编译时就会报 #include 找不到文件的错误。
  • 像 CentOS 或 RHEL 8 及以上的系统,默认可能只安装了运行时工具,开发包需要单独安装:sudo yum install sqlite-devel
  • 在一些为嵌入式环境定制的极简系统镜像里(例如用 Buildroot 或 Yocto 构建的),可能连基础工具都没装,这就需要手动部署二进制文件或者进行交叉编译了。

Ubuntu/Debian 安装 sqlite3 与开发依赖

如果第一步验证时直接报了 command not found,那就需要手动安装。在基于 Debian 的系统上,命令很直观:

sudo apt update
sudo apt install sqlite3 libsqlite3-dev

请注意,libsqlite3-dev 这个包必须安装。没有它,你的 C 程序编译之路就会卡在第一个关卡——sqlite3.h: No such file or directory。对于 Python 开发者来说,情况则好得多,因为 sqlite3 模块是 Python 的标准库,通常无需额外安装。除非你想使用更新的 pysqlite3 来替换内置版本,那才需要动用 pip。

安装完成后,怎么才算真正“可用”了呢?光看版本号还不够,得实际操作一下:

  • 运行 sqlite3 test.db,如果成功进入了 sqlite> 提示符,并且当前目录下生成了 test.db 文件,这才算真正打开(或创建)了一个数据库文件。
  • 如果遇到 unable to open database file 的错误,先别慌,检查一下当前目录是否有写入权限。或者,直接使用绝对路径来指定数据库文件位置,比如 sqlite3 /tmp/test.db
  • 退出时,记住要用 sqlite 自己的元命令 .exit.quit,直接输入 exit 是没用的,那是退出系统 shell 的命令。

.tables 没输出?先看 .database 和分号有没有漏

很多朋友第一次用 .tables 命令查看表时,发现一片空白,就以为是命令失效了。其实,.tables 这个元命令非常“安静”,它只显示当前已打开的数据库中确实已经创建并提交了的表。没有输出,它也不会提示“空数据库”。

遇到这种情况,可以按以下步骤排查:

  • 首先,输入 .database 命令。这个命令会告诉你当前连接到了哪个数据库文件。如果输出显示 main: :memory:,那说明你启动 sqlite3 时没有指定文件名,程序默认使用了一个内存数据库。所有操作在退出后都会消失。解决办法就是退出重来:sqlite3 myapp.db
  • 其次,检查你的建表语句。SQL 语句必须以分号 ; 结尾。比如 CREATE TABLE users(id INTEGER, name TEXT);。如果漏掉了这个分号,你输入的语句就只是被缓存起来,并没有真正执行,.tables 自然什么也看不到。
  • 可以用 .schema 命令来验证。如果表真的存在,它会打印出创建该表的 SQL 语句;如果输出是空白,那就确认表确实没建成功。
  • 最后,注意表名的大小写问题。除非建表时用双引号明确指定了表名(如 CREATE TABLE "Log"),否则后续查询时表名必须严格匹配大小写。而 .tables 命令在显示时是不带引号的,这可能会造成一些混淆。

INSERT/SELECT 没反应?分号和点命令别混用

这大概是新手最常卡住的地方了:把 SQL 语句当成点命令来用,或者反过来。sqlite3 的交互模式严格区分两类指令:

  • 点命令:所有以英文句点 . 开头的,都是 sqlite3 自身的元命令,比如设置显示模式的 .headers on.mode column。这类命令不需要以分号结尾,而且也不能跟在 SQL 语句后面连续书写。
  • SQL 语句:所有标准的 SQL,包括 INSERTSELECTUPDATE 等,都必须以分号 ; 结尾。如果忘了加分号,光标会跳到下一行并等待你继续输入,看起来就像是程序“卡住”了,没有任何反应。

这里有几个实用技巧:

  • 一进入 sqlite3 环境,建议先执行 .headers on。这样在执行 SELECT 查询时,结果会显示列名,否则你看到的只是一堆数据,容易误以为查询没结果。
  • 插入数据后,如果不确定是否成功,别只看命令行有没有报错。执行一句 SELECT COUNT(*) FROM 表名; 来验证,记得带上分号。

来看一个完整的操作示例,感受一下正确的节奏:

sqlite3 app.db
sqlite> .headers on
sqlite> .mode column
sqlite> CREATE TABLE tasks(id INTEGER PRIMARY KEY, title TEXT);
sqlite> INSERT INTO tasks(title) VALUES ('learn sqlite');
sqlite> SELECT * FROM tasks;

还有一个容易被忽略的细节是:sqlite3 默认是自动提交模式,但这里的“自动提交”指的是每个以分号结束的独立语句本身就是一个事务。如果你在多行输入一个复杂的 SQL 时漏掉了结尾的分号,那么整个交互会话就会处于一种“悬停”状态——不报错,也不继续执行。在脚本或自动化场景中,这种静默等待尤其危险,往往需要靠 Ctrl+C 来中断。理解并区分好点命令和 SQL 语句,是顺畅使用 sqlite3 命令行工具的关键第一步。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
系统应用 Linux
相关文章 更多
精品专题 更多
本月促销

正软商城本月促销专区,汇集办公、设计、安全、影音、系统工具及AI软件等正版软件优惠活动,提供限时折扣、特价授权和优惠购买信息,活动库存及价格以页面实时展示为准。

装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Menuist
Menuist

Menuist 是一款面向 macOS 的 Finder 右键菜单增强工具,主要用来补充新建文件、快捷导航等常用操作,让日常文件管理和访问路径时更高效、更顺手。

Mole
Mole

Mole 是一款专为 Mac 设计的深度清理优化工具,涵盖缓存清理、应用管理及实时状态监控等功能。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

PinStack
PinStack

PinStack是一款轻量级的Windows平台剪贴板管理工具,优化您的剪贴板使用体验。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Seer
Seer

Seer是一款在Win平台下的空格键功能增强效率工具,只需轻敲空格键,就能预览几乎任何格式的文件。它更适合把零散的小功能集中起来使用,处理高频琐碎任务时会更省事。