当前位置: 首页 > news >正文

网络编程:SQLite3数据库 - 指南

文章目录

前言

一、下载及安装SQLite3

二、以“.”开头的命令

三、SQL语句

示例:

四、sqlite3支持的语言与框架

数据库的打开(sqlite3_open函数)

数据库的关闭(sqlite3_close函数)

五、执行SQL语句(sqlite3_exec函数)

sqlite3_exec函数介绍

sqlite3_exec()函数应用

使用sqlite3_exec()函数创建表

使用sqlite3_exec()函数向表中插入数据

使用sqlite3_exec()函数查询数据

void *data的作用是什么?

六、项目名称:简单的联系人管理系统

创建一个名为contacts.db的数据库

实现“添加联系人”功能的代码:

CH05_3_联系人管理系统完整代码

总结


一、下载及安装SQLite3

  • 下载SQLite3二进制文件:可以从SQLite网站的下载页面(SQLite Download Page)下载适用于相应系统的SQLite3二进制文件
  • 安装SQLite3二进制文件:
    • 对于Windows,只需运行安装程序并按照提示进行即可
    • 对于macOS,您需要将二进制文件移动到/usr/local/bin目录中
brew install sqlite
  • 对于Linux,您需要使用包管理器来安装SQLite3软件包
sudo apt-get update
sudo apt-get install sqlite3
  • 验证SQLite3是否已正确安装:
    • 在命令行终端上输入sqlite3命令并回车
    • 如果成功安装,则会进入SQLite3的命令行客户端
  • 可选地,安装SQLite3 GUI工具:如果您需要一个GUI工具来管理SQLite3数据库,则可以使用一些第三方工具
    • SQLiteStudio
    • DBeaver
    • 这些工具可免费下载和使用

注意:安装sqlite3和安装sqlite3依赖库不是一个概念,安装sqlite3依赖库,需要执行

sudo apt-get install libsqlite3-dev

二、以“.”开头的命令

命令说明
.archive ...管理SQL归档文件
.auth ON|OFF显示授权回调函数
.backup ?DB? FILE将数据库DB(默认为“main”)备份到FILE
.bail on|off在错误发生后停止。默认为OFF
.binary on|off打开或关闭二进制输出。默认为OFF
.cd DIRECTORY将工作目录更改为DIRECTORY
.changes on|off显示SQL更改的行数
.check GLOB如果自从.testcase以来的输出不匹配,则失败
.clone NEWDB从现有数据库克隆数据到NEWDB中
.databases列出附加数据库的名称和文件
.dbconfig ?op? ?val?列出或更改sqlite3_db_config()选项
.dbinfo ?DB?显示有关数据库的状态信息
.dump ?TABLE? ...将所有数据库内容呈现为SQL
.echo on|off打开或关闭命令回显
.eqp on|off|full|...启用或禁用自动EXPLAIN QUERY PLAN
.excel在电子表格中显示下一个命令的输出
.exit ?CODE?以返回代码CODE退出此程序
.expert实验性功能。为查询建议索引
.explain ?on|off|auto?更改EXPLAIN格式模式。默认值:auto
.filectrl CMD ...运行各种sqlite3_file_control()操作
.fullschema ?--indent?显示模式和sqlite_stat表的内容
.headers on|off打开或关闭标题的显示
.help ?-all? ?PATTERN?显示有关PATTERN的帮助文本
.import FILE TABLE将数据从FILE导入TABLE
.imposter INDEX TABLE在索引INDEX上创建仿冒表TABLE
.indexes ?TABLE?显示索引的名称
.limit ?LIMIT? ?VAL?显示或更改SQLITE_LIMIT的值
.lint OPTIONS报告潜在的模式问题。
.load FILE ?ENTRY?加载扩展库
.log FILE|off打开或关闭日志记录。文件可以是stderr/stdout
.mode MODE ?TABLE?设置输出模式
.nullvalue STRING在NULL值的位置使用字符串STRING
.once (-e|-x|FILE)仅将下一个SQL命令的输出发送到FILE
.open ?OPTIONS? ?FILE?关闭现有数据库并重新打开FILE
.output ?FILE?将输出发送到FILE,如果省略FILE,则发送到stdout
.parameter CMD ...管理SQL参数绑定
.print STRING...打印文本字符串STRING
.progress N在每个N操作码后调用进度处理程序
.prompt MAIN CONTINUE替换标准提示符
.quit退出此程序
.read FILE从FILE读取输入
.recover尝试从损坏的数据库中恢复尽可能多的数据。
.restore ?DB? FILE从FILE还原数据库DB(默认为“main”)的内容
.save FILE将内存中的数据库写入FILE
.scanstats on|off打开或关闭sqlite3_stmt_scanstatus()指标
.schema ?PATTERN?显示与PATTERN匹配的CREATE语句
.selftest ?OPTIONS?运行在SELFTEST表中定义的测试
.separator COL ?ROW?更改列和行分隔符
.session ?NAME? CMD ...创建或控制会话
.sha3sum ...计算数据库内容的SHA3哈希值
.shell CMD ARGS...在系统Shell中运行CMD ARGS...
.show显示各种设置的当前值
.stats ?on|off?显示统计信息或打开/关闭统计信息
.system CMD ARGS...在系统Shell中运行CMD ARGS...
.tables ?TABLE?列出LIKE模式为TABLE的表名
.testcase NAME开始将输出重定向到“testcase-out.txt”
.testctrl CMD ...运行各种sqlite3_test_control()操作
.timeout MS尝试以MS毫秒为间隔打开已锁定表
.timer on|off打开或关闭SQL计时器
.trace ?OPTIONS?在每个SQL语句执行时输出
.vfsinfo ?AUX?有关顶级VFS的信息
.vfslist列出所有可用的VFS
.vfsname ?AUX?打印VFS堆栈的名称
.width NUM1 NUM2 ...设置“ column”模式的列宽度

三、SQL语句

以下是SQLite 3中常用的SQL语句:

  1. 创建表格
CREATE TABLE table_name (column_1 data_type constraints,column_2 data_type constraints,...,column_n data_type constraints
);
  1. 删除表格
DROP TABLE table_name;
  1. 查询数据
SELECT column_1, column_2, ..., column_n
FROM table_name;
  1. 插入数据
INSERT INTO table_name (column_1, column_2, ..., column_n)
VALUES (value_1, value_2, ..., value_n);
  1. 更新数据
UPDATE table_name
SET column_1 = value_1, column_2 = value_2, ..., column_n = value_n
WH
http://www.jsqmd.com/news/363099/

相关文章:

  • Filesystem medley: EROFS, NTFS, and XFS - 2
  • Java毕设项目推荐-基于springboot的养老院管理系统敬老院管理系统【附源码+文档,调试定制服务】
  • 2026移动电站品牌推荐 适配海外工程需求 - 优质品牌商家
  • 【计算机毕业设计案例】基于springboot的校园行政事务审批服务系统的设计与开发基于SpringBoot的政务事项在线审批平台(程序+文档+讲解+定制)
  • 2026年发电机厂家公司权威推荐:发电机厂家哪个好、发电机厂家排名、变频发电机厂家、商场发电机厂家推荐选择指南 - 优质品牌商家
  • 【计算机毕业设计案例】基于springboot的新生儿疾病筛查信息管理系统(程序+文档+讲解+定制)
  • Java毕设项目推荐-基于java的新生儿疾病筛查信息管理系统基于springboot的新生儿疾病筛查信息管理系统【附源码+文档,调试定制服务】
  • 【金融项目实战】11_接口测试 _代码(python+flask)实现mock服务
  • 《构建之法》阅读笔记三:质量保证的思维转变
  • 南大团队突破:AI实现多语言推理完美一致性
  • 【金融项目实战】12_接口测试 _moco框架工具实现mock服务
  • AI在智能电网负荷预测与平衡中的多时间尺度应用
  • Java毕设选题推荐:基于springboot的新生儿疾病筛查信息管理系统基于java的新生儿疾病筛查信息管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 首尔国立大学等机构突破:AI实现数学答案自动对错判断
  • 干货满满!提示工程师职业认证体系,提示工程架构师必备资料
  • 浙江大学首创手机AI助手“记忆力大考“
  • Java毕设选题推荐:基于springboot的养老院管理系统基于SpringBoot的养老院管理系统 老年人健康护理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 基于三机九节点系统的模块化潮流计算程序设计(MATLAB实现)
  • RK3562 单板机系统开发完全手册:U-Boot/Kernel/Rootfs 开发与性能优化
  • 大数据领域数据服务的服务质量提升与客户满意度
  • 百川智能重磅推出M3医疗大模型:让AI医生真正“学会看病“
  • Java毕设选题推荐:基于springboot的校园行政事务审批服务系统的设计与开发基于 SpringBoot 的高校办公室行政事务管理系统设计【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 《构建之法》阅读笔记一:团队协作的启示
  • 计算机Java毕设实战-基于springboot的校园行政事务审批服务系统的设计与开发基于SpringBoot的高校办公室行政事务管理系统设计与【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 实战!AI架构师用PyTorch搭建智能数字资产追踪系统(附教程)
  • 2026书单(二)|当AI开始奔跑,我们如何不被留在原地
  • 计算机Java毕设实战-基于springboot的新生儿疾病筛查信息管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • nvm 安装node成功,但是安装npm失败
  • 2026书单(一)|当AI开始奔跑,我们如何不被留在原地
  • 计算机Java毕设实战-基于springboot的养老院管理系统基于SpringBoot+Vue的养老院管理系统老人信息管理、护理服务、费用管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】