Objecte objecte incorporat

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 22
var 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 8
var 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 4
var 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 4
var 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

1
readonly String SQLite.fileName;

timeout

Nombre enter, consulta i estableix el temps d'espera de la base de dades, en mil·lisegons

1
Integer SQLite.timeout;

type

String, consulta el tipus de base de dades de connexió actual

1
readonly String SQLite.type;

funció de membre

backup

Feu una còpia de seguretat de la base de dades actual en un fitxer nou

1
SQLite.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

1
SQLite.close() async;

use

Seleccioneu la base de dades predeterminada per a la connexió de base de dades actual

1
SQLite.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

1
SQLite.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

1
SQLite.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

1
SQLite.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ó.

1
Boolean 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 2
Boolean 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ó

1
NArray 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 2
NArray 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

1
SQLite.createTable(Object opts) async;

Paràmetres de trucada:

  • opts: Objecte, llista de paràmetres

dropTable

Suprimeix la taula de dades

1
SQLite.dropTable(Object opts) async;

Paràmetres de trucada:

  • opts: Objecte, llista de paràmetres

createIndex

Crea un índex de taula de dades

1
SQLite.createIndex(Object opts) async;

Paràmetres de trucada:

  • opts: Objecte, llista de paràmetres

dropIndex

Suprimeix l'índex de la taula de dades

1
SQLite.dropIndex(Object opts) async;

Paràmetres de trucada:

  • opts: Objecte, llista de paràmetres

insert

Insereix un registre nou

1
Number 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

1
NArray 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

1
Integer 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

1
Integer 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

1
Integer 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 2
String 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 2
String 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.

1
String 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.

1
Value SQLite.toJSON(String key = "");

Paràmetres de trucada:

  • key: Corda, no utilitzada

Resultats de retorn:

  • Value, retorna un valor que conté JSON serializable