sqlite3数据库操作小记

Python SQLite3 保姆级教程:从零开始学数据库操作 SQLite3 是一个轻量级的嵌入式数据库,无需安装独立服务,所有数据存储在一个文件中。✅无需配置:像操作普通文件一样使用。✅跨平台:数据库文件可在 Windows/macOS/Linux 共享。✅适合小型项目:APP 配置、本地缓存、小型网站等。事务:一组原子性的操作,要么全部成功,要么全部失败。示例:转账操作(A 扣款,B 加款必须同时成功)。连接数据库(文件 vs 内存)创建表(字段类型与约束)增删改查(参数化查询防注入)事务管理(提交与回滚) 阅读详情

mark一下

#include "sqlite3.h"
#include <windows.h>

#pragma comment(lib,"sqlite3.lib")

int _tmain(int argc, _TCHAR* argv[])
{
	char *zErrMsg = 0;
	int nRet;
	sqlite3 *db=NULL;
	nRet = sqlite3_open( "E:\\Login Data", &db ); 
	if ( 0 != nRet )
	{
		printf("Open db error %s\n", sqlite3_errmsg(db));
		sqlite3_close( db );   

	}
	else    
	{   
		printf( "open db success\n" );   
	}

	//insert data
	char strSql[MAX_PATH];
	strcpy(strSql,"insert into logins (origin_url,username_value,password_element,signon_realm,ssl_valid,preferred,date_created,blacklisted_by_user,scheme) values ('bb','admin','123','fuck',0,0,0,0,0)");
	nRet = sqlite3_exec( db , strSql , 0 , 0 , &zErrMsg );
	if ( 0 != nRet )   
	{    
		printf("Insert Error:%s", zErrMsg); 
	}
	else    
	{    
		printf("Insert OK\n"); 
	}

	//query data
	int nRow = 0, nColumn = 0;
	int index,nResult;

	char **azResult; //二维数组存放結果
	
	strcpy(strSql,"SELECT origin_url, action_url, username_element, username_value, password_element, password_value, signon_realm, date_created from logins");
	nResult = sqlite3_get_table( db , strSql , &azResult , &nRow , &nColumn , &zErrMsg );
	
	printf( "row:%d column=%d \n" , nRow , nColumn );
	printf( "\nThe result of querying is : \n" );

	int i,j;
	if( SQLITE_OK == nResult)
	{
		//查询成功
		index = nColumn; //前面说过 dbResult 前面第一行数据是字段名称,从 nColumn 索引开始才是真正的数据

		printf("查到%d条记录\n", nRow );

		for(i = 0; i < nRow ; i++ )
		{
			printf("第 %d 条记录\n", i+1 );
			for( j = 0 ; j < nColumn; j++ )
			{
				printf("字段名:%s  > 字段值:%s\n",azResult[j],azResult[index]);
				index++; // dbResult 的字段值是连续的,从第0索引到第 nColumn - 1索引都是字段名称,从第 nColumn 索引开始,后面都是字段值,它把一个二维的表(传统的行列表示法)用一个扁平的形式来表示
			}
			printf("-------\n");
		}
	}

	//delete data
	strcpy(strSql,"DELETE FROM logins WHERE username_value='admin'");
	nRet = sqlite3_exec( db , strSql , 0 , 0 , &zErrMsg );
	if ( 0 != nRet )   
	{    
		printf("Delete Error:%s", zErrMsg);
	}
	else
	{
		printf("Delete OK\n");
	}

	//释放azResult 的內存空間
	sqlite3_free_table( azResult );
	//关闭数据库
	sqlite3_close( db );
	
	getchar();
	return 0;
}


 

嵌入式linux下sqlite3数据库操作 query.c#include #include #include #include "sqlite3.h" #define _DEBUG_ int main( void ) { int i = 0 ; int nrow = 0, ncolumn = 0; char **azResult; //二维数组存放结果 sqlite3 *db 阅读详情

相关推荐

数据库sqlite3

中型数据库(分布式超大型) ———— mysql(百万级)轻型数据库(嵌入式设备) ———— sqlite(万级)。大型数据库(大型机) —————- Oracle(亿级).schema 查看表的结构。的、零配置的、事务性的 SQL 数据库引擎。

2201_75466937的博客 1387

linux 下sqlite的 C编程之sqlite3_get_table

说明:通过sqlite3_get_table查询得到的结果,其结构是:第一行是列名,随后的行才是值。遍历的方式和二维数组相同。 #include #include #include #include #include "test.h" int main(int argc, char **argv) {         sqlite3 *db;         char

yoli_c_world的专栏 2万+

***实现SQLite数据库操作的sqlite3.dll引用指南

本文还有配套的精品资源,点击获取 简介:SQLite3.dll 是 *** 应用中用于集成 SQLite 数据库功能的关键组件。本指南详细介绍了如何在 *** 项目中引用并使用该 DLL 文件,包括基本的数据库操作、事务处理、异常处理以及其他高级功能。开发者将通过此指南学会如何通过引用 DLL 文件,在应用程序中实现数据的高效管理,同时注意资源管理,确保代码的稳定性和效率。...

weixin_30978239的博客 2195

原来sqlite3_get_table() 是这样抓取数据的!!!

文章目录看我的,没后悔啦①容我重新介绍一下sqlite3_get_teble()函数②从“大数据”中抓取我们需要的数据③让我来给你示范一下 看我的,没后悔啦 ①容我重新介绍一下sqlite3_get_teble()函数 和sqlite3_exec()这种使用回调函数的方式不同,sqlite3_get_table()的功能要显得更加直接。它通过控制语句的传入,直接将参数赋值给指针传出。来看一下函数原型: #include<sqlite3.h> int sqlite3_get_table(sql.

看,未来的博客 1万+

Linux环境下的SQLite3数据库操作指南

SQLite3 使用一系列复杂的数据结构来维护数据库状态,其核心是以下几个数据结构:在实际项目中,我们可能还需要自定义错误处理逻辑。例如,可以通过扩展SQLite的API来实现错误日志记录的功能。// 自定义错误处理逻辑fprintf(stderr, "自定义错误处理: 错误码=%d, 错误信息=%s\n", iErrCode, zMsg);// 关闭内置的性能分析器// 初始化SQLite环境// 注册自定义错误处理函数// 以下为数据库操作代码...// 清理SQLite环境。

weixin_31800911的博客 1246

全网最详细 解决戴维南定理的详细推导

替代定理,戴维南定理详细证明

m0_52555753的博客 3万+

python数据库操作之解密浏览器自动保存的密码

关于浏览器自动保存的密码 当我们在网站的登录页面提交账号和密码进行登录时,浏览器会提示是否自动保存,如果选择自动保存,则在下次进入该登录页面时,浏览器会自动将账号和密码填入对应的选项框,我们只需点击登录即可,见下图,节省了很多时间。 实际上,浏览器在我们选择自动保存的时候,已经将登录页面、账号和密码保存到了本地数据库文件中,数据库文件的位置随着浏览器及系统当前登录用户的不同而有所差异,以 win...

shadow20112011的博客 819

机器学习面试笔试求职必背!八股文(1/5)

算法工程师,技术软件类求职机器学习必背八股文 更多算法/业务/HR面等笔试题面试题 —— >个性签名自取! 1. 特征工程: 1.1 为什么要对特征做归一化处理: Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术。特征间的单位(尺度)可能不同,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是[ 1000 , 10000 ] [1000, 10000][1000,10000],另一个特征的变化范围可能是[ −.

大厂offer宝典 1万+

Sqlite3数据库 C语言用法

sqlite3数据库跟sqlite的使用方式相同,因此我使用的时候照着sqlite的教学来的。 1.sqlite3的数据库初始化 由于设备重新上电以后,需要重新执行代码,如果我们的代码中使用insert方式,那么开机两次,就会insert两轮数据。因此我们在设备上先创建号一张数据表。代码如下,创建一张具有六十个数据的表。在设备中执行完以后,将表格提取出来,我们的程序中只需要对其update更新表格的数据就行了。 sqlite3_open:创建一个数据库,...

Pintitus的博客 2028

vasp-自旋轨道耦合(SOC)计算步骤

在VASP中执行自旋轨道耦合(SOC)计算,具体的计算步骤如下: 结构优化获取CONTCAR文件 自洽计算(collinear normal VASP calculations)获取IBZKPT,CHGCAR和WAVECAR文件。 SCF+SOC计算,在此步骤中,将步骤2中的IBZKPT复制为KPOINTS,以便两个步骤具有相同的k网格,因此可以读取步骤2中的CHGCAR和WAVECAR文件。 能带结构计算,在此步骤中,将KPOINTS改为高对称点,读取步骤3中的CHGCAR和WAVECAR文件。

懒散的鱼与消失的猫 3万+

2.1 SRv6 TE Policy

SRv6 TE Policy是在SRv6技术基础上发展的一种新的隧道引流技术。SRv6 TE Policy路径表示为指定路径的段列表(Segment List),称为SID列表(Segment ID List)。每个SID列表是从源到目的地的端到端路径,并指示网络中的设备遵循指定的路径,而不是遵循IGP计算的最短路径。如果数据包被导入SRv6 TE Policy中,SID列表由头端添加到数据包上,网络的其余设备执行SID列表中嵌入的指令。

m0_70976024的博客 1237

sqlite3的使用

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL

肖氏专栏 1197

【锂离子电池力学耦合及相场法模拟技术与应用】

8. 电化学仿真软件的使用与案例分析 (1) 各向异性纳米线锂化应力分析(实例讲解1) (2) 化学反应及死锂现象研究(案例分析2)(3) 锂化循环损伤计算(案例分析3)6. 4. 电池材料的力学与电化学耦合性能分析(1) 耦合效应对电池性能的影响(2) 耦合模型的验证与应。5. 5. 电池颗粒、极片、电芯尺度力-电-化-热多场耦合模型概述力学-7. 颗粒尺度耦合模型在电池失效分析中的应用。2. 2. 电池电极材料的分类与特性。5. (2) 耦合模型的验证与应用。电化学耦合模型与仿真。

weixin_51101456的博客 523

【Sqlite3】【Nodejs 】

serialize可保证回调函数中的代码顺序执行,但其中的代码若是异步调用,其不能将异步调用变为同步调用!执行的顺序是:00000==>22222==>44444==>11111=>33333。上面是封装的sqlite 这里就可以使用了。最近在使用 Sqlite 小记一下。......

weixin_42910765的博客 1179

实战案例四:Claude Code + Excel 技能处理表格数据

Excel 是商业世界中最通用的数据工具。无论是财务报表、销售数据还是项目计划,Excel 无处不在。本案例将展示如何利用 Claude Code 的 Excel 技能,自动化处理复杂的表格数据,告别繁琐的手工操作。

gaoxiang_120的专栏 475

Altium Designer(AD24/25)PCB编辑的几种方法介绍

本文介绍了Altium Designer(AD24/25)软件中PCB编辑的四种操作方法:1)通过菜单栏"Place→Component"激活;2)点击工具栏元器件图标;3)右键快捷菜单选择;4)快捷键P+C组合操作。建议初学者先通过菜单栏和快捷菜单熟悉操作,熟练后转为工具栏和快捷键以提高效率。文章配有操作示意图,帮助用户快速掌握PCB元器件放置技巧。

fydar的博客 944

sqlite3命令语句, 文档小记

前言:从新复习一下sqlite3语句,记下来,权当笔记。 一、文档小记 SQL: 结构化查询语言 Struted Query Language sqlite: sql:数据库语言 lite:精简版 创建数据库: .open 路径\数据库名.db 数据库不存在会创建该数据库 数据库存在会打开

让技术为我所用 4321

13、HTML 表格创建与样式设置全攻略

本文全面介绍了HTML表格的创建与样式设置方法,涵盖表格行列添加、边框控制、行和列分组(thead、tbody、tfoot、colgroup)、宽度与高度设置、内边距与间距调整,以及表格对齐方式。同时提供了最佳实践建议、常见问题解决方案及综合示例代码,帮助开发者构建结构清晰、样式美观且兼容性强的HTML表格。

blue的专栏 97

SQLite数据库使用(sqlite3 c++)

本文只针对sqlite3 c++ API调用。 1、基础知识 sqlite3只是一个嵌入式数据库引擎,占用资源非常底,可以适用于Windows和Linux,而且sqlite3只是一个文件,不需要服务器进程。 sqlite3 c++ api接口只需要引用sqlite3.h头文件就行。 常用术语:表(table)、字段(column,列,属性)、记录(row,record)。 存储类型:integer(整型)、real(浮点型)、text(文本字符串)、blob(二进制数据)。 关键字:select

PC1022的博客 8979

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

轻型数据库SQLite结合PHP的开发

轻型数据库SQLite结合PHP的开发SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源

.NET博文收藏 549

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

sqlite3数据库操作

本文将基于Linux介绍对sqlite3数据库的操作,包含SQL命令以及常用的api函数。

q28292929的博客 3028

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

sqlite3:深入理解sqlite3_stmt 机制

我们在使用sqlite3的过程中,涉及到批量操作时(批量插入、批量读。。。),总会遇到 sqlite3_stmt这个数据类型,按照官方解释说法是这样的:sqlite3_stmt是C接口中“准备语句对象”,该对象是一条SQL语句的实例,而且该语句已经编译成二进制形式,可以直接进行计算。 它并不是我们所熟悉的sql语句,而是一个已经把sql语句解析了的,用sqlite3自己标记记录的内...

猪哥的专栏 1万+

Linux下Sqlite3数据库操作

使用SQLite的API函数实现新建一个数据库student.db,并且在数据库中创建表demo,想表中插入数据,查询插入的数据,最后关闭数据库。可以发现 --prefix 这个选项可以用来指定安装路径,否则他将默认安装到 /usr/local。第一步:创建一个.c文件sudo touch sqlite_Demo01.c。打开.c文件编写代码:sudo gedit sqlite_Demo01.c。了解一下configure。命令进入命令行操作模式。

tqupohei的博客 2954

深入理解 SQLite3 常用函数:开启数据库操作之旅

通过本文的介绍,已经了解了 SQLite3 中一些常用函数的基本功能和使用方法。掌握这些函数是进行 SQLite3 数据库操作的基础,无论是简单的单条 SQL 语句执行,还是复杂的预处理语句使用,这些函数都能帮助你高效地完成任务。在实际项目中,合理运用这些函数,结合数据库设计和业务需求,你将能够开发出稳定、高效的数据库应用程序。希望本文能为你学习和使用 SQLite3 提供有价值的参考。

weixin_72058778的博客 1368

SQLite3:对SQLite3加密

发现两款不错的开源加密工具:sqleet和SQLite3MultipleCiphers

fengbohello的专栏 1万+
上一篇: Ring3下实现进程保护,不用hook
下一篇: VMware Vix API 操作虚拟机
sysprogram
博客等级 码龄17年 298粉丝 442原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值