JS操作sqlite数据库

JavaScript读写本地SQLite数据库 通过这些代码,我们可以连接到SQLite数据库,执行查询和修改操作,并保存修改后的数据库文件。在使用JavaScript读写SQLite数据库之前,我们需要创建一个SQLite数据库文件。在JavaScript开发中,有时候我们需要对本地SQLite数据库进行读写操作。在进行JavaScript读写本地SQLite数据库之前,我们需要使用一些工具和库来实现这个功能。在JavaScript中,有许多库可以帮助我们与SQLite数据库进行交互,例如。当我们完成对数据库的读写操作后,应该关闭数据库连接。 阅读详情
AI摘要

本文介绍了如何使用JavaScript和sql.js库访问SQLite数据库,包括开发环境搭建、主要代码示例及数据库操作说明。

##JS操作SQLite数据库

###0.问题的由来

  • 一直非常讨厌MySql等等体积庞大的数据库,在项目里都是尽可能用SQLite数据库

  • 一个本地项目同时需要内网上能够简单的访问部分信息,因此涉及到JavaScript访问SQLite的问题

###1.问题的解决

####1.1sql.js库

有伟大的github在,当然不用自己写数据库访问库了。sql.js库是一个用Emscripten(别问我这是什么,我也不知道)从c++转译过来的访问sqlite3数据库的JS库,支持到最新的3.8.7.4版本的sqlite3.该库使用的时候只需引用单一的文件便可实现功能,完全脱离sqlite。

####1.2开发环境

1.EverEdit(推荐一下这个国产编辑器) 64bit

2.html+JavaScript+css+sql.js

3.准备一个sqlite的数据库文件,参考1 ,2

4.SQLiteSpy 软件

####1.3主要代码


<!DOCTYPE html>

<html>

	<head>

		<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />

		<script type="text/javascript" src="sql.js"></script>

	</head>

	<body>

		<button name="test" type="button" value="val" onclick="save()">Button Text</button>

		<input id="uploadInput" type="file" onchange="getfile()">

	</body>

	<script>

		function save() {

			

			//Create the database

			var db = new window.SQL.Database();

			

			db.run("CREATE TABLE test (列1 int, 列2 char);");			

			db.run("INSERT INTO test VALUES (0,'hello');");

			db.run("INSERT INTO test VALUES (1,'world');");

			db.run("INSERT INTO test VALUES (55,'34534545');");

			db.run("INSERT INTO test VALUES (166,'woteggrgrld');");

			//save to local file

			var data = db.export();

 			var arraybuff = data.buffer;

			var blob = new Blob([arraybuff]);

			var url = window.URL.createObjectURL(blob);

			

			var a = document.createElement("a");

			a.href = url;			

      	  	a.download = 'test.db';

        	a.click();

        	window.URL.revokeObjectURL(url);

			

		}



		function getfile() {

			

     	 	var files = document.getElementById("uploadInput").files;//document.getElementById("uploadInput").value;

			

			var file = files[0];

     	 	var fr = new FileReader();

			fr.onload = function(){

					

        		var Uints = new Uint8Array(fr.result);

					

        		var db = new window.SQL.Database(Uints);

        		

				var res = db.exec("SELECT 列2 FROM test");

				for(i=0;i<res[0].values.length;i++)

				{//query values

					console.log(res[0].values[i]+' ');

				}	

				



			}

			

			fr.readAsArrayBuffer(file);

			

		}

	</script>



</html>

####1.4几点说明

1.15-20行对数据库的操作是在内存中进行的,保存到本地的话需要执行21行后的代码。

2.上面代码保存到本地不会覆盖原数据库。

3.查询的时候res是一个保存了多行对象的数组。在代码文档里写到

We have the following table, named test :

id age name

1 1 Ling

2 18 Paul

3 3 Markus

We query it like that:


var db = new SQL.Database();

var res = db.exec("SELECT id FROM test; SELECT age,name FROM test;");



res is now :

[

   {columns: ['id'], values:[[1],[2],[3]]},
   {columns: ['age','name'], values:[[1,'Ling'],[18,'Paul'],[3,'Markus']]}

]

给个赏吧

如果我的文字解决了你的问题,请打个赏的,让我更有动力:)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9uAcIwK-1605511739012)(http://oza71xi0c.bkt.clouddn.com/18-9-3/34854473.jpg)]

使用JavaScript和HTML5操作SQLite数据库的方法 在本文中,我们将介绍如何使用JavaScript和HTML5来操作SQLite数据库。通过使用JavaScript和HTML5,我们可以直接在浏览器中执行SQL查询和操作数据库。通过使用JavaScript和HTML5,我们可以轻松地在浏览器中操作SQLite数据库。我们可以创建数据库、创建表格、插入数据、查询数据、更新数据和删除数据。请注意,上述代码仅提供了基本的示例,实际应用中可能需要更多的错误处理和数据验证来确保数据库的安全性和一致性。一旦我们创建了数据库,接下来我们需要创建一个表格来存储数据。 阅读详情

相关推荐

第18课:JavaScript 引擎操作 SQLite 数据库

尽管 Electron 应用可以利用 localStorage API 将数据以键值的形式保存在客户端,但 localStorage 并不适合存储大量的数据,而且 localStorage 是通过键值存储数据的,比较适合保存配置信息,而不是海量的结构化数据,如二维表。因此,要想在 Electron 客户端保存更复杂的数据而且便于检索,就需要使用真正的数据库,如 SQLite、MySQL。 由于 E...

一个被知识诅咒的人 2218

如何用js操作sqlite创建表并查询数据

为了使用 JavaScript 操作 SQLite 数据库,你需要使用一个叫做 SQLite3 的模块。 这是一个示例代码来创建一个名为 "users" 的表,其中包含 "id"、"name" 和 "age" 这三列: const sqlite3 = require('sqlite3').verbose(); // 创建数据库连接 const db = new sqlite3.Database(...

weixin_35750953的博客 2070

js-sqlite.js

/** * 数据库操作类 * @param database 数据库名 * @param tableName 表名 * @param priKey 表主键 */ /** * 将数组或对象转成字符串信息用于在控制台显示 * console.log(displayProp(obj)); */ function displayProp(obj)

Node.js操作SQLite快速入门

Node.js操作SQLite

RHHcainiao的博客 3860

Node.js中最快,最简单SQLite3库。-Node.js开发

better-sqlite3 Node.js中用于SQLite3的最快,最简单的库。 全面的事务支持高性能,效率和安全性易于使用的同步API(比异步API更快...是的,您阅读的更好sqlite3 Node.js中SQLite3最快,最简单的库。全面的事务支持性能,效率和安全性易于使用的同步API(比异步API更快...是的,您没有看错)支持用户定义的函数,集合和扩展64位整数(在需要它们之前是不可见的) )帮助这个项目保持强大!:flexed_biceps:每天都有成千上万的开发人员和工程师使用Better-sqlite3。

js+html5操作sqlite数据库的方法

主要介绍了js+html5操作sqlite数据库的方法,以完整实例形式分析了JavaScript封装的html5操作SQLite数据库类,并分析了具体使用技巧,需要的朋友可以参考下

js -- 操作sqlite数据库

最近看到一个使用js来操作sqlite数据库的,测试了一下,具体使用的是 js操作类: https://github.com/kripken/sql.js/(sqlite js 驱动) 异步请求:http://npm.taobao.org/package/axios(异步请求插件,只有12.6k) 这里使用的js驱动是和服务器端使用方法一致,sql标准语法都支持,可以用第三方管理工具来...

weixin_30458043的博客 1597

射频接收机本振相噪指标计算:从倒易混频到GSM实战

在射频接收机设计中,相位噪声是衡量本振信号频谱纯度、影响系统灵敏度的关键指标。其核心影响机制源于倒易混频原理:当不纯净的本振信号与强带外阻塞信号混频时,本振的噪声边带会被转换到中频通带内,从而抬升接收机噪声基底。这一过程直接决定了接收机在阻塞测试等场景下的性能极限。从技术价值看,精确计算本振相噪要求,是进行系统噪声预算、实现成本与性能权衡的核心依据。尤其在手机、基站等对灵敏度要求极高的应用中,它指导着锁相环和压控振荡器的选型与设计。本文以经典的GSM DCS1800标准为例,通过详细的公式推导与变量分析,演

weixin_30368405的博客 326

Web 应用如何使用sqlite?使用 sql.js 实现前端 SQLite 数据库操作

在 Web 应用开发中,前端数据处理的重要性日益增加。为了实现更高效的前端数据管理,特别是在处理结构化数据时,sql.js 提供了一个出色的解决方案。sql.js 是将 SQLite 数据库编译为 JavaScript 的库,允许开发者在浏览器环境中直接操作 SQLite 数据库。本教程将详细介绍如何使用 sql.js 实现多张表的关联操作,从而提高前端数据处理的灵活性和效率。sql.js 是一个用 JavaScript 实现的 SQLite 数据库。

乐闻世界 3159

OpenCV实战:5分钟搞定图像拼接(附Python代码)

本文通过OpenCV实战教程,详细讲解如何使用Python在5分钟内完成图像拼接。重点介绍`findHomography`函数和单应性矩阵的应用,提供完整的代码示例和常见问题解决方案,帮助开发者快速掌握图像拼接技术。

weixin_26833503的博客 120

红外小目标检测新思路:当DETR遇上Mamba状态空间模型,速度提升3倍

本文探讨了将Mamba状态空间模型与DETR框架结合,用于解决红外小目标检测的难题。该创新方案通过线性复杂度的Mamba模块替代传统Transformer的自注意力机制,在保持高检测精度的同时,显著提升了推理速度,实现了实时性能的突破,为无人机巡检、安防监控等场景提供了高效解决方案。

hhh00的博客 664

html5 mysql操作_js+html5操作sqlite数据库的方法_javascript技巧

本文实例讲述了js+html5操作sqlite数据库的方法。分享给大家供大家参考,具体如下://copyright by lanxyou lanxyou[at]gmail.comvar lanxDB=function(dbname){var db=openDatabase(dbname,'1.0.0','',65536);return{//返回数据库名getDBName:function(){re...

weixin_39930711的博客 272

高德地图-获取定位-失败原因-浏览器定位异常场景

提示:也能实现,但是需要https协议,而且请求时间很长,要么你用梯子,还是不太合适.

shi15926lei的博客 4206

electronjs MySQL_Electron中使用sql.js操作SQLite数据库

一、关于sql.jssql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite C代码,将SQLite移植到Webassembly。 它使用存储在内存中的虚拟数据库文件,因此不会保留对数据库所做的更改。 但是,它允许您导入任何现有的sqlite文件,并将创建的数据库导出为JavaScript类型的数组。这里没有C绑定或node-g...

weixin_39769740的博客 561

Python爬虫深度对抗:拼多多与得物价格监控系统中的设备指纹模拟与SkyWalking风控绕过实战

在电商数据采集领域,拼多多和得物(毒)APP堪称国产风控系统的“双子星”。前者依托于拼多多集团强大的安全团队,后者则以其独特的“潮流单品”数据价值和高昂的爬取成本闻名。对于任何一名爬虫工程师而言,能够稳定、高效地获取这两大平台的价格、库存、销量等动态信息,都是一项极具挑战性的技术试金石。传统的基于requests库的简单HTTP请求,在面对这两款应用时几乎寸步难行。你会发现,无论怎样伪造User-Agent、怎样轮换代理IP,返回的永远是状态码412403,或者是一个包含验证滑块设备异常的JSON错误。

2201_76125261的博客 865

AI奶牛TMR智能饲喂机器人 Qt信创完整项目( 统信/麒麟国产系统直接编译)

内置**犊牛、育成牛、围产牛、泌乳牛、干奶牛**5套标准化饲喂配方;+" 饲喂批次完成|牛群:"+grpText+"|投喂饲料:"+QString::number(ft)+"吨|剩料:"+QString::number(st)+"吨|异常牛:"+QString::number(abCow);cv::putText(frame,"霉变变质饲料禁止饲喂",cv::Point(20,40),cv::FONT_HERSHEY_SIMPLEX,0.7,cv::Scalar(0,0,255),2);

寒寒豆豆软件公司的博客 183

html5 js 访问 sqlite 数据库的操作类

webkit 核心的浏览器提供了 3个 api接口,用于访问本地sqlite数据,但使用起来很不方便 故而做这个js封装,以方便使用 参考文章: sqlite API 说明   http://www.mhtml5.com/resources/html5-js-api%E6%95%99%E7%A8%8B%EF%BC%88%E4%B8%89%EF%BC%89-%E6%9C%AC%E5%

肖武的专栏 2万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【Vue.js使用SQL.js操作SQLite数据库】

Vue.js使用SQL.js操作SQLite数据库 - 哔哩哔哩

u012632105的博客 3770

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

js 直接操作sqlite数据库demo

朋友问我浏览器js直接sqlite怎么做。。。? 我一脸的懵逼。。。啥是sqlite。。。。? 然后各种查资料。。。终于有了这个demo。。。。 记录下,后面可能用的到。。。。。 &lt;html lang="en" dir="ltr"&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta content=&qu

lookbbs的专栏 1万+

html5 js连接数据库操作,js+html5操作sqlite数据库的方法

js+html5操作sqlite数据库的方法2020-03-24 16:01:36字体:大 中 小来源:转载供稿:网友本文实例讲述了js+html5操作sqlite数据库的方法。分享给大家供大家参考,具体如下://copyright by lanxyou lanxyou[at]gmail.comvar lanxDB=function(dbname){ var db=openDatabase(dbn...

weixin_42466723的博客 1760

Electron中使用sql.js操作SQLite数据库

推荐sql.js——一款纯js的sqlite工具。 一、关于sql.js sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite C代码,将SQLite移植到Webassembly。 它使用存储在内存中的虚拟数据库文件,因此不会保留对数据库所做的更改。 但是,它允许您导入任何现有的sqlite文件,并将创建的数据库导出为JavaScript类型的数组。 这里没有C绑定或node-gyp编译,sql.js是一个简单的Jav...

ElegantHedgehog的博客 2287

better-sqlite3 终极指南:Node.js 中最快的 SQLite 数据库操作库

在 Node.js 生态系统中,数据库操作一直是开发者的重要关注点。better-sqlite3 作为当前最快的 SQLite3 库,为开发者提供了同步 API、完整事务支持和卓越的性能表现。本文将深入解析这个强大的数据库工具,帮助你快速掌握其核心功能和使用技巧。 ## 项目核心价值与特色亮点 better-sqlite3 不仅仅是另一个 SQLite 包装器,它通过独特的设计理念重新定义了

gitblog_00947的博客 493
上一篇: MFC+GDI简化坐标缩放
下一篇: Direct2D+MFC学习笔记
洗洗睡去
博客等级 码龄19年 277粉丝 90原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值