Oggetto oggetto incorporato

ObjectSQLite

Gli oggetti SQLite sono moduli integratidbUn membro del database SQLite, principalmente responsabile della connessione e del funzionamento del database SQLite e può essere utilizzato per la creazione, l'interrogazione, l'inserimento, l'aggiornamento e altre operazioni del database SQLite. Allo stesso tempo, l'oggetto SQLite fornisce anche alcune operazioni avanzate come il backup e la formattazione SQL. Gli oggetti di connessione SQLite supportano anche le operazioni di transazione

Nelle applicazioni pratiche, solitamente creiamo tabelle di dati di tipo SQLite in base alle esigenze aziendali, quindi eseguiamo operazioni come l'aggiunta, l'eliminazione, la modifica e l'interrogazione dei dati, ad esempio:

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 ha anche un modulo vec_index integrato: possiamo creare un indice sul campo vettoriale nel database SQLite, effettuare una ricerca in base al campo vettoriale e ottenere il set di vettori più simile al vettore di destinazione. Supporta l'utilizzo di matrici di tipo numerico per rappresentare i vettori, come [1, 2, 3] e supporta le dimensioni dei vettori. Inoltre, vec_index supporta operazioni batch all'interno di una transazione.

Ecco un semplice esempio:

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)`);

Il recupero dei vettori può essere eseguito utilizzando la funzione vec_search, ad esempio:

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 restituisce una raccolta di vettori più vicini e un array di distanze, dove le distanze sono ordinate da piccole a grandi. Se è necessario restituire più set di vettori più vicini, è possibile utilizzare il parametro :limit, ad esempio:

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")`);

rapporto ereditario

proprietà dei membri

fileName

Stringa, nome del file del database corrente

1
readonly String SQLite.fileName;

timeout

Intero, interroga e imposta il timeout del database, in millisecondi

1
Integer SQLite.timeout;

type

String, interroga il tipo di database di connessione corrente

1
readonly String SQLite.type;

funzione membro

backup

Eseguire il backup del database corrente in un nuovo file

1
SQLite.backup(String fileName) async;

Parametri di chiamata:

  • fileName: Stringa, specifica il nome del file del database di backup

close

Chiude la connessione al database corrente

1
SQLite.close() async;

use

Seleziona il database predefinito per la connessione al database corrente

1
SQLite.use(String dbName) async;

Parametri di chiamata:

  • dbName: Stringa, specifica il nome del database

begin

Avvia una transazione sulla connessione al database corrente

1
SQLite.begin(String point = "") async;

Parametri di chiamata:

  • point: String, specifica il nome della transazione, non specificato per impostazione predefinita

commit

Effettua il commit della transazione sulla connessione al database corrente

1
SQLite.commit(String point = "") async;

Parametri di chiamata:

  • point: String, specifica il nome della transazione, non specificato per impostazione predefinita

rollback

Rollback di una transazione sulla connessione al database corrente

1
SQLite.rollback(String point = "") async;

Parametri di chiamata:

  • point: String, specifica il nome della transazione, non specificato per impostazione predefinita

trans

Immettere una transazione per eseguire una funzione ed eseguire il commit o il rollback in base all'esecuzione della funzione.

1
Boolean SQLite.trans(Function func);

Parametri di chiamata:

  • func: Funzione, una funzione eseguita in modo transazionale

Risultati restituiti:

  • Boolean, restituisce se la transazione è stata confermata, restituisce true per il commit normale, restituisce false per il rollback e genera un errore se la transazione va male.

Ci sono tre risultati dell'esecuzione della funzione:

  • La funzione restituisce normalmente, inclusa la fine dell'operazione e il reso attivo, momento in cui la transazione verrà automaticamente impegnata.
  • La funzione restituisce false e la transazione verrà annullata
  • Errore di operazione della funzione, transazione annullata automaticamente

Immettere una transazione per eseguire una funzione ed eseguire il commit o il rollback in base all'esecuzione della funzione.

1 2
Boolean SQLite.trans(String point, Function func);

Parametri di chiamata:

  • point: String, specifica il nome della transazione
  • func: Funzione, una funzione eseguita in modo transazionale

Risultati restituiti:

  • Boolean, restituisce se la transazione è stata confermata, restituisce true per il commit normale, restituisce false per il rollback e genera un errore se la transazione va male.

Ci sono tre risultati dell'esecuzione della funzione:

  • La funzione restituisce normalmente, inclusa la fine dell'operazione e il reso attivo, momento in cui la transazione verrà automaticamente impegnata.
  • La funzione restituisce false e la transazione verrà annullata
  • Errore di operazione della funzione, transazione annullata automaticamente

execute

Esegui un comando SQL e restituisce il risultato dell'esecuzione

1
NArray SQLite.execute(String sql) async;

Parametri di chiamata:

  • sql: corda, corda

Risultati restituiti:

  • NArray, restituisce un array contenente i record dei risultati. Se la richiesta è UPDATE o INSERT, il risultato restituito includerà anche l'elemento interessato e l'insertId. mssql non supporta l'insertId.

Esegui un comando sql e restituisce il risultato dell'esecuzione. La stringa può essere formattata in base ai parametri.

1 2
NArray SQLite.execute(String sql, ...args) async;

Parametri di chiamata:

  • sql: Stringa, stringa di formato, parametri opzionali vengono specificati con ?. Ad esempio: "SELECT FROM TEST WHERE [id]=?"
  • args: ..., elenco parametri opzionale

Risultati restituiti:

  • NArray, restituisce un array contenente i record dei risultati. Se la richiesta è UPDATE o INSERT, il risultato restituito includerà anche l'elemento interessato e l'insertId. mssql non supporta l'insertId.

createTable

Crea tabella dati

1
SQLite.createTable(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

dropTable

Elimina tabella dati

1
SQLite.dropTable(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

createIndex

Crea l'indice della tabella dati

1
SQLite.createIndex(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

dropIndex

Elimina l'indice della tabella dati

1
SQLite.dropIndex(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

insert

Inserisci nuovo record

1
Number SQLite.insert(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

Risultati restituiti:

  • Number, restituisce l'id contenente l'inserimento, oppure 0 se il motore non lo supporta.

find

Interrogare i dati in base a condizioni specificate

1
NArray SQLite.find(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

Risultati restituiti:

  • NArray, restituisce i record contenenti i risultati

count

Contare il numero di record di dati in base alle condizioni specificate

1
Integer SQLite.count(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

Risultati restituiti:

  • Integer, restituisce il numero di record contenenti il ​​risultato

update

Aggiorna i dati in base alle condizioni specificate

1
Integer SQLite.update(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri

Risultati restituiti:

  • Integer, restituisce il numero di record contenenti aggiornamenti

remove

Elimina i dati in base alle condizioni specificate

1
Integer SQLite.remove(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, elenco parametri facoltativi

Risultati restituiti:

  • Integer, restituisce il numero di record contenenti aggiornamenti

format

Formatta un comando SQL e restituisce il risultato formattato

1 2
String SQLite.format(String method, Object opts);

Parametri di chiamata:

  • method: String, specifica il metodo richiesto
  • opts: Oggetto, elenco parametri facoltativi

Risultati restituiti:

  • String, restituisce il comando sql formattato

Formatta un comando SQL e restituisce il risultato formattato

1 2
String SQLite.format(String sql, ...args);

Parametri di chiamata:

  • sql: Stringa, stringa di formato, parametri opzionali vengono specificati con ?. Ad esempio: "SELECT FROM TEST WHERE [id]=?"
  • args: ..., elenco parametri opzionale

Risultati restituiti:

  • String, restituisce il comando sql formattato

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String SQLite.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile