This package provides an SQLite database engine compiled for the browser and bundled withsqlean
extensions. It's a drop-in replacement for the standardsqlite-wasm
package.
sqlean.js
contains 9 essential SQLite extensions:
- crypto:Hashing, encoding and decoding data
- define:User-defined functions and dynamic SQL
- fuzzy:Fuzzy string matching and phonetics
- ipaddr:IP address manipulation
- math:Math functions
- regexp:Regular expressions
- stats:Math statistics
- text:String functions
- uuid:Universally Unique IDentifiers
You'll need the SQLite JavaScript API. Include it from CDN or (better) download and host locally:
<scriptsrc= "https://unpkg /@antonz/sqlean/dist/sqlean.js"></script>
It's also available as an ECMAScript module:
importsqlite3InitModulefrom"https://unpkg /@antonz/sqlean/dist/sqlean.mjs";
You'll also need to download and serve an SQLite WASM file if you're hosting locally:
https://unpkg /@antonz/sqlean/dist/sqlean.wasm
sqlean.wasm
is used internally by thesqlean.js
script, so place them in the same folder.
I suggest you host both files locally because they weigh ≈1.5Mb, and CDNs tend to be quite slow with such large files.
You can install them using npm:
npm install @antonz/sqlean
Initialize SQLite:
asyncfunctioninit(){
constsqlite3=awaitsqlite3InitModule({
print:console.log,
printErr:console.error,
});
constversion=sqlite3.capi.sqlite3_libversion();
console.log(`Loaded SQLite${version}`);
returnsqlite3;
}
Create and query a database:
constSCHEMA=`
create table employees(id, name, salary);
insert into employees values
(1, 'Alice', 120),
(2, 'Bob', 100),
(3, 'Cindy', 80);
`;
init().then((sqlite3)=>{
constdb=newsqlite3.oo1.DB();
db.exec(SCHEMA);
constsql="select * from employees";
letrows=[];
db.exec({
sql,
rowMode:"object",
resultRows:rows,
});
console.log(rows);
});
Which prints the following:
[
{
"id":1,
"name":"Alice",
"salary":120
},
{
"id":2,
"name":"Bob",
"salary":100
},
{
"id":3,
"name":"Cindy",
"salary":80
}
]
See theSQLite documentationfor details.
Copyright 2023-2024Anton Zhiyanov.
The software is available under the MIT License.
Subscribeto stay on top of new features 🚀