Object-ingebouwd object

ObjectSQLite

SQLite-objecten zijn ingebouwde modulesdbEen lid van de SQLite-database, voornamelijk verantwoordelijk voor de verbinding en werking van de SQLite-database, en kan worden gebruikt voor het maken, opvragen, invoegen, bijwerken en andere bewerkingen van de SQLite-database. Tegelijkertijd biedt het SQLite-object ook enkele geavanceerde bewerkingen, zoals het maken van back-ups en het formatteren van SQL. SQLite-verbindingsobjecten ondersteunen ook transactiebewerkingen

In praktische toepassingen maken we meestal gegevenstabellen van het SQLite-type op basis van zakelijke behoeften, en voeren we vervolgens bewerkingen uit zoals het toevoegen, verwijderen, wijzigen en opvragen van gegevens, bijvoorbeeld:

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 heeft ook een ingebouwde vec_index-module.We kunnen een index maken op het vectorveld in de SQLite-database, zoeken op basis van het vectorveld en de vectorset verkrijgen die het meest lijkt op de doelvector. Ondersteunt het gebruik van numerieke arrays om vectoren weer te geven, zoals [1, 2, 3], en ondersteunt vectordimensies. Bovendien ondersteunt vec_index batchbewerkingen binnen een transactie.

Hier is een eenvoudig voorbeeld:

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

Het ophalen van vectoren kan worden uitgevoerd met behulp van de vec_search-functie, bijvoorbeeld:

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 retourneert een verzameling dichtstbijzijnde vectoren en een reeks afstanden, waarbij afstanden zijn gerangschikt van klein naar groot. Als u meerdere dichtstbijzijnde vectorsets moet retourneren, kunt u de parameter :limit gebruiken, bijvoorbeeld:

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

erfenis relatie

eigenschappen van leden

fileName

Tekenreeks, huidige databasebestandsnaam

1
readonly String SQLite.fileName;

timeout

Geheel getal, query en ingestelde databasetime-out, in milliseconden

1
Integer SQLite.timeout;

type

String, vraag het huidige verbindingsdatabasetype op

1
readonly String SQLite.type;

lid functie

backup

Maak een back-up van de huidige database naar een nieuw bestand

1
SQLite.backup(String fileName) async;

Oproepparameters:

  • fileName: String, geef de bestandsnaam van de back-updatabase op

close

Sluit de huidige databaseverbinding

1
SQLite.close() async;

use

Selecteer de standaarddatabase voor de huidige databaseverbinding

1
SQLite.use(String dbName) async;

Oproepparameters:

  • dbName: String, geef de databasenaam op

begin

Start een transactie op de huidige databaseverbinding

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

Oproepparameters:

  • point: String, specificeert de naam van de transactie, niet standaard opgegeven

commit

Voer de transactie uit op de huidige databaseverbinding

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

Oproepparameters:

  • point: String, specificeert de naam van de transactie, niet standaard opgegeven

rollback

Een transactie ongedaan maken op de huidige databaseverbinding

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

Oproepparameters:

  • point: String, specificeert de naam van de transactie, niet standaard opgegeven

trans

Voer een transactie in om een ​​functie uit te voeren, en voer een commit of rollback uit op basis van de uitvoering van de functie.

1
Boolean SQLite.trans(Function func);

Oproepparameters:

  • func: Functie, een functie die op transactionele wijze wordt uitgevoerd

Resultaten retourneren:

  • Boolean, retourneert of de transactie is vastgelegd, retourneert true voor normale commit, retourneert false voor rollback en genereert een fout als de transactie fout gaat.

Er zijn drie resultaten van func-uitvoering:

  • De functie keert normaal terug, inclusief einde van de werking en actieve terugkeer, waarna de transactie automatisch wordt vastgelegd.
  • De functie retourneert false en de transactie wordt teruggedraaid
  • Functiefout, transactie wordt automatisch teruggedraaid

Voer een transactie in om een ​​functie uit te voeren, en voer een commit of rollback uit op basis van de uitvoering van de functie.

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

Oproepparameters:

  • point: String, specificeert de naam van de transactie
  • func: Functie, een functie die op transactionele wijze wordt uitgevoerd

Resultaten retourneren:

  • Boolean, retourneert of de transactie is vastgelegd, retourneert true voor normale commit, retourneert false voor rollback en genereert een fout als de transactie fout gaat.

Er zijn drie resultaten van func-uitvoering:

  • De functie keert normaal terug, inclusief einde van de werking en actieve terugkeer, waarna de transactie automatisch wordt vastgelegd.
  • De functie retourneert false en de transactie wordt teruggedraaid
  • Functiefout, transactie wordt automatisch teruggedraaid

execute

Voer een SQL-opdracht uit en retourneer het uitvoeringsresultaat

1
NArray SQLite.execute(String sql) async;

Oproepparameters:

  • sql: Snaar, snaar

Resultaten retourneren:

  • NArray, retourneert een array met resultaatrecords. Als het verzoek UPDATE of INSERT is, bevat het geretourneerde resultaat ook beïnvloed en insertId. mssql ondersteunt insertId niet.

Voer een SQL-opdracht uit en retourneer het uitvoeringsresultaat. De tekenreeks kan worden opgemaakt volgens de parameters.

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

Oproepparameters:

  • sql: String, formaatstring, optionele parameters worden gespecificeerd met ?. Bijvoorbeeld: 'SELECTEER UIT TEST WAAR [id]=?'
  • args: ..., optionele parameterlijst

Resultaten retourneren:

  • NArray, retourneert een array met resultaatrecords. Als het verzoek UPDATE of INSERT is, bevat het geretourneerde resultaat ook beïnvloed en insertId. mssql ondersteunt insertId niet.

createTable

Gegevenstabel maken

1
SQLite.createTable(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

dropTable

Gegevenstabel verwijderen

1
SQLite.dropTable(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

createIndex

Gegevenstabelindex maken

1
SQLite.createIndex(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

dropIndex

Gegevenstabelindex verwijderen

1
SQLite.dropIndex(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

insert

Nieuw record invoegen

1
Number SQLite.insert(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

Resultaten retourneren:

  • Number, retourneert de id die de invoeging bevat, of 0 als de engine dit niet ondersteunt.

find

Gegevens opvragen op basis van gespecificeerde voorwaarden

1
NArray SQLite.find(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

Resultaten retourneren:

  • NArray, retourneert records met resultaten

count

Tel het aantal gegevensrecords op basis van gespecificeerde voorwaarden

1
Integer SQLite.count(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

Resultaten retourneren:

  • Integer, retourneert het aantal records dat het resultaat bevat

update

Update gegevens op basis van gespecificeerde voorwaarden

1
Integer SQLite.update(Object opts) async;

Oproepparameters:

  • opts: Object, parameterlijst

Resultaten retourneren:

  • Integer, retourneert het aantal records met updates

remove

Gegevens verwijderen op basis van gespecificeerde voorwaarden

1
Integer SQLite.remove(Object opts) async;

Oproepparameters:

  • opts: Object, optionele parameterlijst

Resultaten retourneren:

  • Integer, retourneert het aantal records met updates

format

Formatteer een SQL-opdracht en retourneer het opgemaakte resultaat

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

Oproepparameters:

  • method: String, specificeert de gevraagde methode
  • opts: Object, optionele parameterlijst

Resultaten retourneren:

  • String, retourneert de geformatteerde SQL-opdracht

Formatteer een SQL-opdracht en retourneer het opgemaakte resultaat

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

Oproepparameters:

  • sql: String, formaatstring, optionele parameters worden gespecificeerd met ?. Bijvoorbeeld: 'SELECTEER UIT TEST WAAR [id]=?'
  • args: ..., optionele parameterlijst

Resultaten retourneren:

  • String, retourneert de geformatteerde SQL-opdracht

toString

Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.

1
String SQLite.toString();

Resultaten retourneren:

  • String, retourneert de tekenreeksrepresentatie van het object

toJSON

Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat