Objekt integriertes Objekt

ObjectSQLite

SQLite-Objekte sind integrierte ModuledbEin Mitglied der SQLite-Datenbank, das hauptsächlich für die Verbindung und den Betrieb der SQLite-Datenbank verantwortlich ist und für die Erstellung, Abfrage, Einfügung, Aktualisierung und andere Vorgänge der SQLite-Datenbank verwendet werden kann. Gleichzeitig bietet das SQLite-Objekt auch einige erweiterte Vorgänge wie das Sichern und Formatieren von SQL. SQLite-Verbindungsobjekte unterstützen auch Transaktionsvorgänge

In praktischen Anwendungen erstellen wir normalerweise Datentabellen vom Typ SQLite basierend auf Geschäftsanforderungen und führen dann Vorgänge wie das Hinzufügen, Löschen, Ändern und Abfragen von Daten aus, zum Beispiel:

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 verfügt außerdem über ein integriertes vec_index-Modul. Wir können einen Index für das Vektorfeld in der SQLite-Datenbank erstellen, basierend auf dem Vektorfeld suchen und den Vektorsatz erhalten, der dem Zielvektor am ähnlichsten ist. Unterstützt die Verwendung numerischer Arrays zur Darstellung von Vektoren, z. B. [1, 2, 3], und unterstützt Vektordimensionen. Darüber hinaus unterstützt vec_index Batch-Operationen innerhalb einer Transaktion.

Hier ist ein einfaches Beispiel:

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

Der Vektorabruf kann beispielsweise mit der Funktion vec_search durchgeführt werden:

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 gibt eine Sammlung nächstgelegener Vektoren und ein Array von Entfernungen zurück, wobei die Entfernungen von klein nach groß geordnet sind. Wenn Sie mehrere nächstliegende Vektorsätze zurückgeben müssen, können Sie den Parameter :limit verwenden, zum Beispiel:

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

Erbschaftsverhältnis

Mitgliedereigenschaften

fileName

String, aktueller Datenbankdateiname

1
readonly String SQLite.fileName;

timeout

Ganzzahl, Datenbank-Timeout abfragen und festlegen, in Millisekunden

1
Integer SQLite.timeout;

type

String, fragen Sie den aktuellen Verbindungsdatenbanktyp ab

1
readonly String SQLite.type;

Mitgliedsfunktion

backup

Sichern Sie die aktuelle Datenbank in einer neuen Datei

1
SQLite.backup(String fileName) async;

Aufrufparameter:

  • fileName: Zeichenfolge, geben Sie den Dateinamen der Sicherungsdatenbank an

close

Aktuelle Datenbankverbindung schließen

1
SQLite.close() async;

use

Wählen Sie die Standarddatenbank für die aktuelle Datenbankverbindung aus

1
SQLite.use(String dbName) async;

Aufrufparameter:

  • dbName: String, geben Sie den Datenbanknamen an

begin

Starten Sie eine Transaktion für die aktuelle Datenbankverbindung

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

Aufrufparameter:

  • point: String, gibt den Namen der Transaktion an, standardmäßig nicht angegeben

commit

Übernehmen Sie die Transaktion für die aktuelle Datenbankverbindung

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

Aufrufparameter:

  • point: String, gibt den Namen der Transaktion an, standardmäßig nicht angegeben

rollback

Rollback einer Transaktion auf der aktuellen Datenbankverbindung

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

Aufrufparameter:

  • point: String, gibt den Namen der Transaktion an, standardmäßig nicht angegeben

trans

Geben Sie eine Transaktion ein, um eine Funktion auszuführen, und führen Sie basierend auf der Ausführung der Funktion einen Commit oder ein Rollback durch.

1
Boolean SQLite.trans(Function func);

Aufrufparameter:

  • func: Funktion, eine Funktion, die auf transaktionale Weise ausgeführt wird

Rückgabeergebnisse:

  • Boolean, gibt zurück, ob die Transaktion festgeschrieben wurde, gibt „true“ für normales Festschreiben zurück, gibt „false“ für Rollback zurück und gibt einen Fehler aus, wenn die Transaktion fehlschlägt.

Es gibt drei Ergebnisse der Funktionsausführung:

  • Die Funktion kehrt normal zurück, einschließlich Betriebsende und aktiver Rückgabe. Zu diesem Zeitpunkt wird die Transaktion automatisch festgeschrieben.
  • Die Funktion gibt false zurück und die Transaktion wird zurückgesetzt
  • Funktionsfehler, Transaktion wird automatisch zurückgesetzt

Geben Sie eine Transaktion ein, um eine Funktion auszuführen, und führen Sie basierend auf der Ausführung der Funktion einen Commit oder ein Rollback durch.

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

Aufrufparameter:

  • point: String, gibt den Namen der Transaktion an
  • func: Funktion, eine Funktion, die auf transaktionale Weise ausgeführt wird

Rückgabeergebnisse:

  • Boolean, gibt zurück, ob die Transaktion festgeschrieben wurde, gibt „true“ für normales Festschreiben zurück, gibt „false“ für Rollback zurück und gibt einen Fehler aus, wenn die Transaktion fehlschlägt.

Es gibt drei Ergebnisse der Funktionsausführung:

  • Die Funktion kehrt normal zurück, einschließlich Betriebsende und aktiver Rückgabe. Zu diesem Zeitpunkt wird die Transaktion automatisch festgeschrieben.
  • Die Funktion gibt false zurück und die Transaktion wird zurückgesetzt
  • Funktionsfehler, Transaktion wird automatisch zurückgesetzt

execute

Führen Sie einen SQL-Befehl aus und geben Sie das Ausführungsergebnis zurück

1
NArray SQLite.execute(String sql) async;

Aufrufparameter:

  • sql: Zeichenfolge, Zeichenfolge

Rückgabeergebnisse:

  • NArray, gibt ein Array zurück, das Ergebnisdatensätze enthält. Wenn die Anforderung UPDATE oder INSERT ist, enthält das zurückgegebene Ergebnis auch die betroffene und insertId. mssql unterstützt insertId nicht.

Führen Sie einen SQL-Befehl aus und geben Sie das Ausführungsergebnis zurück. Die Zeichenfolge kann entsprechend den Parametern formatiert werden.

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

Aufrufparameter:

  • sql: String, Formatstring, optionale Parameter werden mit ? angegeben. Zum Beispiel: „SELECT FROM TEST WHERE [id]=?“
  • args: ..., optionale Parameterliste

Rückgabeergebnisse:

  • NArray, gibt ein Array zurück, das Ergebnisdatensätze enthält. Wenn die Anforderung UPDATE oder INSERT ist, enthält das zurückgegebene Ergebnis auch die betroffene und insertId. mssql unterstützt insertId nicht.

createTable

Datentabelle erstellen

1
SQLite.createTable(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

dropTable

Datentabelle löschen

1
SQLite.dropTable(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

createIndex

Erstellen Sie einen Datentabellenindex

1
SQLite.createIndex(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

dropIndex

Datentabellenindex löschen

1
SQLite.dropIndex(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

insert

Neuen Datensatz einfügen

1
Number SQLite.insert(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

Rückgabeergebnisse:

  • Number, gibt die ID zurück, die die Einfügung enthält, oder 0, wenn die Engine dies nicht unterstützt.

find

Fragen Sie Daten basierend auf angegebenen Bedingungen ab

1
NArray SQLite.find(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

Rückgabeergebnisse:

  • NArray, gibt Datensätze zurück, die Ergebnisse enthalten

count

Zählen Sie die Anzahl der Datensätze basierend auf angegebenen Bedingungen

1
Integer SQLite.count(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

Rückgabeergebnisse:

  • Integer, gibt die Anzahl der Datensätze zurück, die das Ergebnis enthalten

update

Aktualisieren Sie Daten basierend auf angegebenen Bedingungen

1
Integer SQLite.update(Object opts) async;

Aufrufparameter:

  • opts: Objekt, Parameterliste

Rückgabeergebnisse:

  • Integer, gibt die Anzahl der Datensätze zurück, die Aktualisierungen enthalten

remove

Daten basierend auf angegebenen Bedingungen löschen

1
Integer SQLite.remove(Object opts) async;

Aufrufparameter:

  • opts: Objekt, optionale Parameterliste

Rückgabeergebnisse:

  • Integer, gibt die Anzahl der Datensätze zurück, die Aktualisierungen enthalten

format

Formatieren Sie einen SQL-Befehl und geben Sie das formatierte Ergebnis zurück

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

Aufrufparameter:

  • method: String, gibt die angeforderte Methode an
  • opts: Objekt, optionale Parameterliste

Rückgabeergebnisse:

  • String, gibt den formatierten SQL-Befehl zurück

Formatieren Sie einen SQL-Befehl und geben Sie das formatierte Ergebnis zurück

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

Aufrufparameter:

  • sql: String, Formatstring, optionale Parameter werden mit ? angegeben. Zum Beispiel: „SELECT FROM TEST WHERE [id]=?“
  • args: ..., optionale Parameterliste

Rückgabeergebnisse:

  • String, gibt den formatierten SQL-Befehl zurück

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.

1
String SQLite.toString();

Rückgabeergebnisse:

  • String, gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.

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

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

  • Value, gibt einen Wert zurück, der JSON serialisierbar enthält