使用SQL.js访问SQLite
sql.js是一个javascript访问SQLite数据库的封装库。
项目的Github地址是:https://github.com/sql-js/sql.js
文档地址是:https://sql.js.org
源码不方便访问的,也可以从这里下载。
自己写了两个用例,第一个访问的是浏览器内存数据库,第二个是持久化的数据库文件。上代码:
文件名:sqlite_memory.js
let config = {locateFile: () => "/js/sql.js/dist/sql-wasm.wasm"}initSqlJs(config).then(async function (SQL) {//Create the databaseconst db = new SQL.Database();// Run a query without reading the resultsdb.run("CREATE TABLE test (col1, col2);");db.run("INSERT INTO test VALUES (?,?), (?,?)", [1, 111, 2, 222]);// Prepare a statementconst stmt = db.prepare("SELECT * FROM test WHERE col1 BETWEEN $start AND $end");stmt.getAsObject({$start: 1, $end: 1});// Bind new valuesstmt.bind({$start: 1, $end: 2});while (stmt.step()) { //const row = stmt.getAsObject();console.log('Here is a row: ' + JSON.stringify(row));}
});
文件名:sqlite_file.js
let config = {locateFile: () => "/js/sql.js/dist/sql-wasm.wasm"}
initSqlJs(config).then(function(SQL){const xhr = new XMLHttpRequest();xhr.open('GET', "/data/Animation_02.sqlite", true);xhr.responseType = 'arraybuffer';xhr.onload = e => {const uInt8Array = new Uint8Array(xhr.response);const db = new SQL.Database(uInt8Array);const contents = db.exec("SELECT * FROM AnimationVessel order by Id");console.log(JSON.stringify(contents));};xhr.send();
});
以sqlite_file.js为例创建html页面文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="/js/sql.js/dist/sql-wasm.js"></script><script type="module" src="/js/sqlite_file.js"></script>
</head>
<body></body>
</html>
在浏览器的console中即可看到相应输出。
使用SQL.js访问SQLite相关推荐
- Electron中使用sql.js操作SQLite数据库
推荐sql.js--一款纯js的sqlite工具. 一.关于sql.js sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite ...
- 前端 sqllite sql.js
SQL.js 官网翻译 API DOC GitHub - 源码地址 asm.js 和 Emscripten 入门介绍 - 阮一峰的网络日志 编译器项目 Emscripten,这个编译器可以将 C / ...
- js -- 操作sqlite数据库
最近看到一个使用js来操作sqlite数据库的,测试了一下,具体使用的是 js操作类: https://github.com/kripken/sql.js/(sqlite js 驱动) 异步请求:ht ...
- PHP-CRUD-API:将 REST API 添加到 MySQL/MariaDB、PostgreSQL、SQL Server 或 SQLite 数据库的单个文件 PHP 脚本
https://github.com/mevdschee/php-crud-api 将 REST API 添加到 MySQL/MariaDB.PostgreSQL.SQL Server 或 SQLit ...
- Windows Mobile下访问Sqlite的Native C++封装
背景 当前移动设备开发领域,在本地数据存储方面,Sqlite几乎成了事实标准,Andriod (android.database.sqlite),iPhone (SQLite for iPhone S ...
- 如何使用 Node.js 访问 SAP HANA Cloud 数据库里的数据
登录 SAP Business Technology Platform,找到 space 下自己创建好的 HANA Cloud 实例,右键菜单选择 Copy SQL Endpoint,将 HANA C ...
- electronjs MySQL,javascript – 在Electron应用程序中使用sql.js.
我是 Electron的新手.它非常棒,而且入门非常有趣而且非常简单.一段时间以来,我一直试图找到一个在我的应用程序中使用的"数据库"解决方案.当然有Web SQL /本地存储选项 ...
- QT 访问sqlite数据库
QT 访问sqlite数据库 1.sqlite数据库安装 首先,通过sqlite3命令查看 sqlite数据库是否已经安装,若没有安装,则通过 sudo apt install 指令进行安装. 2.准 ...
- SpringMVC 静态资源CSS,JS访问不了 解决方法
SpringMVC 静态资源CSS,JS访问不了 解决方法 参考文章: (1)SpringMVC 静态资源CSS,JS访问不了 解决方法 (2)https://www.cnblogs.com/peiy ...
最新文章
- 后退N帧协议-GBN
- 脱贫利器 | PYTHON多线程行情抓取工具实现
- ADMT3.2域迁移之Server2003至Server2012系列(七)安装ADMT3.2
- PIE SDK影像快速拼接
- windbg 如何再内核模式调试用户空间的程序
- _protoype原型初识.
- 10行代码搞定移动web端自定义tap事件
- photos for mather's day
- 数据库简介(初步了解数据库)
- 5GC 会话建立流程
- 重启网卡报错Job for network.service failed because the control process exited with error code.
- 架设服务器虚拟主机教程,web服务器虚拟主机(服务器搭建虚拟主机教程)
- unity3D的FingerGestures插件
- C++ map下标访问的问题
- 大智慧专业财务数据服务器文件,大智慧专业财务数据及代码内容对照表-2
- IMPERVA-WAF 硬盘更换
- VOT Toolkit工具使用说明(Python版)
- NLP-D35-nlp比赛D4【run baselines】-回家-h5pypicklewith open() as
- Ubuntu如何开启root账户登录
- 数字游民让你实现边旅游边工作