ObjectSQLite
Els objectes SQLite són mòduls integratsdbMembre de la base de dades SQLite, principalment responsable de la connexió i funcionament de la base de dades SQLite, i es pot utilitzar per a la creació, consulta, inserció, actualització i altres operacions de la base de dades SQLite. Al mateix temps, l'objecte SQLite també proporciona algunes operacions avançades com la còpia de seguretat i el format SQL. Els objectes de connexió SQLite també admeten operacions de transacció
En aplicacions pràctiques, normalment creem taules de dades de tipus SQLite en funció de les necessitats empresarials i després realitzem operacions com afegir, suprimir, modificar i consultar dades, per exemple:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22var db = require('db')
// open a SQLite database
var sqlite = db.openSQLite('test.db')
// use execute method to create a table
sqlite.execute('CREATE TABLE test (id INT PRIMARY KEY NOT NULL, name TEXT NOT NULL, age INT NOT NULL)')
// use execute method to insert data
sqlite.execute('INSERT INTO test (id, name, age) VALUES (?, ?, ?)', 1, 'Alice', 18)
sqlite.execute('INSERT INTO test (id, name, age) VALUES (?, ?, ?)', 2, 'Bob', 20)
sqlite.execute('INSERT INTO test (id, name, age) VALUES (?, ?, ?)', 3, 'Charlie', 22)
// use execute method to query data
var rs = sqlite.execute('SELECT * FROM test')
console.log(rs)
// use execute method to update data
sqlite.execute('UPDATE test SET name=?, age=? WHERE id=?', 'Marry', 19, 1)
// use execute method to delete data
sqlite.execute('DELETE FROM test WHERE id=?', 2)
SQLite també té un mòdul vec_index integrat.Podem crear un índex al camp vectorial de la base de dades SQLite, cercar basant-se en el camp vectorial i obtenir el conjunt de vectors més semblant al vector objectiu. Admet l'ús de matrius de tipus numèric per representar vectors, com ara [1, 2, 3], i admet dimensions vectorials. A més, vec_index admet operacions per lots dins d'una transacció.
Aquí teniu un exemple senzill:
1
2
3
4
5
6
7
8var db = require('db');
var path = require('path');
var conn = db.openSQLite(path.join(__dirname, 'vec_test.db'));
conn.execute('create virtual table vindex using vec_index(title(3), description(3))');
conn.execute(`insert into vindex(title, description, rowid) values("[1,2,3]", "[3,4,5]", 3)`);
La recuperació de vectors es pot realitzar mitjançant la funció vec_search, per exemple:
1
2
3
4var key = [1, 2, 5.1234];
var limit = 1;
var res = conn.execute(`select rowid, distance from vindex where vec_search(title, "${JSON.stringify(key)}")`);
vec_search retorna una col·lecció de vectors més propers i una matriu de distàncies, on les distàncies s'ordenen de petit a gran. Si necessiteu retornar diversos conjunts de vectors més propers, podeu utilitzar el paràmetre :limit, per exemple:
1
2
3
4var key = [1, 2, 5.1234];
var limit = 1;
var res = conn.execute(`select rowid, distance from vindex where vec_search(title, "${JSON.stringify(key)}:10")`);
relació hereditària
propietats dels membres
fileName
Cadena, nom del fitxer de la base de dades actual
1readonly String SQLite.fileName;
timeout
Nombre enter, consulta i estableix el temps d'espera de la base de dades, en mil·lisegons
1Integer SQLite.timeout;
type
String, consulta el tipus de base de dades de connexió actual
1readonly String SQLite.type;
funció de membre
backup
Feu una còpia de seguretat de la base de dades actual en un fitxer nou
1SQLite.backup(String fileName) async;
Paràmetres de trucada:
- fileName: Cadena, especifiqueu el nom del fitxer de la base de dades de còpia de seguretat
close
Tanqueu la connexió actual de la base de dades
1SQLite.close() async;
use
Seleccioneu la base de dades predeterminada per a la connexió de base de dades actual
1SQLite.use(String dbName) async;
Paràmetres de trucada:
- dbName: Cadena, especifiqueu el nom de la base de dades
begin
Inicieu una transacció a la connexió de base de dades actual
1SQLite.begin(String point = "") async;
Paràmetres de trucada:
- point: String, especifica el nom de la transacció, no especificat per defecte
commit
Confirmeu la transacció a la connexió de base de dades actual
1SQLite.commit(String point = "") async;
Paràmetres de trucada:
- point: String, especifica el nom de la transacció, no especificat per defecte
rollback
Revertir una transacció a la connexió de base de dades actual
1SQLite.rollback(String point = "") async;
Paràmetres de trucada:
- point: String, especifica el nom de la transacció, no especificat per defecte
trans
Introduïu una transacció per executar una funció, i cometreu o retrocediu en funció de l'execució de la funció.
1Boolean SQLite.trans(Function func);
Paràmetres de trucada:
- func: Funció, una funció executada de manera transaccional
Resultats de retorn:
- Boolean, retorna si la transacció s'ha confirmat, retorna true per a la confirmació normal, retorna false per rollback i genera un error si la transacció surt malament.
Hi ha tres resultats de l'execució de la funció:
- La funció torna amb normalitat, incloent el final de l'operació i el retorn actiu, moment en què la transacció es confirmarà automàticament.
- La funció retorna false i la transacció es revertirà
- Error d'operació de la funció, la transacció es revertirà automàticament
Introduïu una transacció per executar una funció, i cometreu o retrocediu en funció de l'execució de la funció.
1
2Boolean SQLite.trans(String point,
Function func);
Paràmetres de trucada:
- point: Cadena, especifica el nom de la transacció
- func: Funció, una funció executada de manera transaccional
Resultats de retorn:
- Boolean, retorna si la transacció s'ha confirmat, retorna true per a la confirmació normal, retorna false per rollback i genera un error si la transacció surt malament.
Hi ha tres resultats de l'execució de la funció:
- La funció torna amb normalitat, incloent el final de l'operació i el retorn actiu, moment en què la transacció es confirmarà automàticament.
- La funció retorna false i la transacció es revertirà
- Error d'operació de la funció, la transacció es revertirà automàticament
execute
Executeu una ordre sql i retorneu el resultat de l'execució
1NArray SQLite.execute(String sql) async;
Paràmetres de trucada:
- sql: Corda, corda
Resultats de retorn:
- NArray, retorna una matriu que conté registres de resultats. Si la sol·licitud és UPDATE o INSERT, el resultat retornat també inclourà afectat i insertId. mssql no admet insertId.
Executeu una ordre sql i retorneu el resultat de l'execució. La cadena es pot formatar segons els paràmetres.
1
2NArray SQLite.execute(String sql,
...args) async;
Paràmetres de trucada:
- sql: La cadena, la cadena de format i els paràmetres opcionals s'especifiquen amb ?. Per exemple: 'SELECT FROM TEST WHERE [id]=?'
- args: ..., llista de paràmetres opcional
Resultats de retorn:
- NArray, retorna una matriu que conté registres de resultats. Si la sol·licitud és UPDATE o INSERT, el resultat retornat també inclourà afectat i insertId. mssql no admet insertId.
createTable
Crea una taula de dades
1SQLite.createTable(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
dropTable
Suprimeix la taula de dades
1SQLite.dropTable(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
createIndex
Crea un índex de taula de dades
1SQLite.createIndex(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
dropIndex
Suprimeix l'índex de la taula de dades
1SQLite.dropIndex(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
insert
Insereix un registre nou
1Number SQLite.insert(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
Resultats de retorn:
- Number, retorna l'identificador que conté la inserció, o 0 si el motor no l'admet.
find
Consulta les dades en funció de les condicions especificades
1NArray SQLite.find(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
Resultats de retorn:
- NArray, retorna registres que contenen resultats
count
Compteu el nombre de registres de dades en funció de les condicions especificades
1Integer SQLite.count(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
Resultats de retorn:
- Integer, retorna el nombre de registres que contenen el resultat
update
Actualitzar les dades en funció de les condicions especificades
1Integer SQLite.update(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres
Resultats de retorn:
- Integer, retorna el nombre de registres que contenen actualitzacions
remove
Suprimeix les dades en funció de les condicions especificades
1Integer SQLite.remove(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, llista de paràmetres opcional
Resultats de retorn:
- Integer, retorna el nombre de registres que contenen actualitzacions
format
Formateu una ordre sql i retorneu el resultat amb format
1
2String SQLite.format(String method,
Object opts);
Paràmetres de trucada:
- method: String, especifica el mètode sol·licitat
- opts: Objecte, llista de paràmetres opcional
Resultats de retorn:
- String, retorna l'ordre sql amb format
Formateu una ordre sql i retorneu el resultat amb format
1
2String SQLite.format(String sql,
...args);
Paràmetres de trucada:
- sql: La cadena, la cadena de format i els paràmetres opcionals s'especifiquen amb ?. Per exemple: 'SELECT FROM TEST WHERE [id]=?'
- args: ..., llista de paràmetres opcional
Resultats de retorn:
- String, retorna l'ordre sql amb format
toString
Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.
1String SQLite.toString();
Resultats de retorn:
- String, retorna la representació de cadena de l'objecte
toJSON
Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.
1Value SQLite.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
Resultats de retorn:
- Value, retorna un valor que conté JSON serializable