JavaScript sqlite
Обзор javascript-решений SQLite В браузере
Если вы хотите получить доступ vanillajs к базе данных SQLite из веб-браузера, у sqllite вас не так много решений.
sql.js
Библиотека vanilla-javascript SQLite C была перенесена на JavaScript с помощью ecmascript emscripten. Порт был запущен под названием javascript-execution sql.js
Алоном Закаем (который также js является автором emscripten). Я ecmascript в настоящее время поддерживаю sqlite3 эту библиотеку.
API выглядит js так:
Веб-SQL
W3C начал работу над .js собственным API для выполнения .js SQL в браузере под названием js web sql. Пример использования этого vanillajs API:
var db = openDatabase('mydb', '1.0', 'my first database', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS foo (id unique, text)');
tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "synergies")');
});
Однако проект был заброшен. Таким vanillajs образом, он не получил широкой vanillajs поддержки. См .: http://caniuse.com/sql-storage
В узле
Если вы sqllite пишете клиентский javascript sqlite в узле, у вас есть немного vanilla-javascript больше вариантов. См .: https://www.npmjs.org/search?q=sqlite.
узел-sqlite3
Если vanillajs у вас есть набор инструментов vanilla-js для компиляции, и вам не ecmascript нужно компилировать приложение javascript для разных платформ (или vanilla-javascript ориентироваться только на vanilla-javascript одну платформу), я бы посоветовал javascript-execution вам использовать node-sqlite3
. Он быстрый sqlite3 (намного быстрее, чем sql.js
), имеет ecmascript полный API и хорошую документацию. Пример sqlite3 API следующий:
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(':memory:');
db.serialize(function() {
db.run("CREATE TABLE lorem (info TEXT)");
var stmt = db.prepare("INSERT INTO lorem VALUES (?)");
for (var i = 0; i < 10; i++) {
stmt.run("Ipsum " + i);
}
stmt.finalize();
db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
console.log(row.id + ": " + row.info);
});
});
db.close();
sql.js
Да, еще раз. sql.js
можно .js использовать из узла.
Это ecmascript решение, если вам нужно приложение javascript-execution на чистом javascript. Однако javascript-execution это будет медленнее, чем javascript предыдущее решение.
Вот пример vanilla-js использования sql.js
из узла:
var fs = require('fs');
var SQL = require('sql.js');
var filebuffer = fs.readFileSync('test.sqlite');
db.run("INSERT INTO test VALUES (?,?,?)", [1, 'hello', true]); -- corrected INT to INTO
var data = db.export();
var buffer = new Buffer(data);
fs.writeFileSync("filename.sqlite", buffer);
javascript
sqlite
JavaScript sqlite
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.