Objet objet intégré

ObjetSQLite

Les objets SQLite sont des modules intégrésdbMembre de la base de données SQLite, principalement responsable de la connexion et du fonctionnement de la base de données SQLite, et peut être utilisé pour la création, l'interrogation, l'insertion, la mise à jour et d'autres opérations de la base de données SQLite. Dans le même temps, l'objet SQLite fournit également certaines opérations avancées telles que la sauvegarde et le formatage SQL. Les objets de connexion SQLite prennent également en charge les opérations de transaction

Dans les applications pratiques, nous créons généralement des tables de données de type SQLite en fonction des besoins de l'entreprise, puis effectuons des opérations telles que l'ajout, la suppression, la modification et l'interrogation de données, par 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 dispose également d'un module vec_index intégré.Nous pouvons créer un index sur le champ vectoriel sur la base de données SQLite, effectuer une recherche basée sur le champ vectoriel et obtenir l'ensemble de vecteurs le plus similaire au vecteur cible. Prend en charge l'utilisation de tableaux de types numériques pour représenter des vecteurs, tels que [1, 2, 3], et prend en charge les dimensions vectorielles. De plus, vec_index prend en charge les opérations par lots au sein d'une transaction.

Voici un exemple simple :

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 récupération de vecteurs peut être effectuée à l'aide de la fonction vec_search, par 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 renvoie une collection de vecteurs les plus proches et un tableau de distances, où les distances sont classées de petite à grande. Si vous devez renvoyer plusieurs ensembles de vecteurs les plus proches, vous pouvez utiliser le paramètre :limit, par 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")`);

relation d'héritage

propriétés des membres

fileName

Chaîne, nom du fichier de base de données actuel

1
readonly String SQLite.fileName;

timeout

Nombre entier, interroger et définir le délai d'expiration de la base de données, en millisecondes

1
Integer SQLite.timeout;

type

Chaîne, interroge le type de base de données de connexion actuel

1
readonly String SQLite.type;

fonction membre

backup

Sauvegarder la base de données actuelle dans un nouveau fichier

1
SQLite.backup(String fileName) async;

Paramètres d'appel :

  • fileName: Chaîne, spécifiez le nom du fichier de base de données de sauvegarde

close

Fermer la connexion actuelle à la base de données

1
SQLite.close() async;

use

Sélectionnez la base de données par défaut pour la connexion à la base de données actuelle

1
SQLite.use(String dbName) async;

Paramètres d'appel :

  • dbName : String, spécifiez le nom de la base de données

begin

Démarrer une transaction sur la connexion actuelle à la base de données

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

Paramètres d'appel :

  • point: String, précise le nom de la transaction, non spécifié par défaut

commit

Valider la transaction sur la connexion actuelle à la base de données

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

Paramètres d'appel :

  • point: String, précise le nom de la transaction, non spécifié par défaut

rollback

Annuler une transaction sur la connexion actuelle à la base de données

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

Paramètres d'appel :

  • point: String, précise le nom de la transaction, non spécifié par défaut

trans

Entrez une transaction pour exécuter une fonction et validez ou annulez en fonction de l'exécution de la fonction.

1
Boolean SQLite.trans(Function func);

Paramètres d'appel :

  • func: Fonction, une fonction exécutée de manière transactionnelle

Résultats de retour :

  • Boolean, renvoie si la transaction est validée, renvoie true pour une validation normale, renvoie false pour une restauration et renvoie une erreur si la transaction tourne mal.

Il y a trois résultats de l’exécution de func :

  • La fonction revient normalement, y compris la fin de l'opération et le retour actif, moment auquel la transaction sera automatiquement validée.
  • La fonction renvoie false et la transaction sera annulée
  • Erreur de fonctionnement de la fonction, transaction automatiquement annulée

Entrez une transaction pour exécuter une fonction et validez ou annulez en fonction de l'exécution de la fonction.

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

Paramètres d'appel :

  • point: String, précise le nom de la transaction
  • func: Fonction, une fonction exécutée de manière transactionnelle

Résultats de retour :

  • Boolean, renvoie si la transaction est validée, renvoie true pour une validation normale, renvoie false pour une restauration et renvoie une erreur si la transaction tourne mal.

Il y a trois résultats de l’exécution de func :

  • La fonction revient normalement, y compris la fin de l'opération et le retour actif, moment auquel la transaction sera automatiquement validée.
  • La fonction renvoie false et la transaction sera annulée
  • Erreur de fonctionnement de la fonction, transaction automatiquement annulée

execute

Exécuter une commande SQL et renvoyer le résultat de l'exécution

1
NArray SQLite.execute(String sql) async;

Paramètres d'appel :

  • sql: Chaîne, chaîne

Résultats de retour :

  • NArray, renvoie un tableau contenant les enregistrements de résultats. Si la requête est UPDATE ou INSERT, le résultat renvoyé inclura également affecté et insertId. mssql ne prend pas en charge insertId.

Exécutez une commande sql et renvoyez le résultat de l'exécution. La chaîne peut être formatée en fonction des paramètres.

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

Paramètres d'appel :

  • sql: La chaîne, la chaîne de format et les paramètres facultatifs sont spécifiés avec ?. Par exemple : « SELECT FROM TEST WHERE [id]=? »
  • args: ..., liste de paramètres optionnels

Résultats de retour :

  • NArray, renvoie un tableau contenant les enregistrements de résultats. Si la requête est UPDATE ou INSERT, le résultat renvoyé inclura également affecté et insertId. mssql ne prend pas en charge insertId.

createTable

Créer un tableau de données

1
SQLite.createTable(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

dropTable

Supprimer le tableau de données

1
SQLite.dropTable(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

createIndex

Créer un index de table de données

1
SQLite.createIndex(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

dropIndex

Supprimer l'index de la table de données

1
SQLite.dropIndex(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

insert

Insérer un nouvel enregistrement

1
Number SQLite.insert(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

Résultats de retour :

  • Number, renvoie l'identifiant contenant l'insertion, ou 0 si le moteur ne le prend pas en charge.

find

Interroger des données en fonction de conditions spécifiées

1
NArray SQLite.find(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

Résultats de retour :

  • NArray, renvoie les enregistrements contenant les résultats

count

Compter le nombre d'enregistrements de données en fonction de conditions spécifiées

1
Integer SQLite.count(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

Résultats de retour :

  • Integer, renvoie le nombre d'enregistrements contenant le résultat

update

Mettre à jour les données en fonction de conditions spécifiées

1
Integer SQLite.update(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres

Résultats de retour :

  • Integer, renvoie le nombre d'enregistrements contenant des mises à jour

remove

Supprimer les données en fonction de conditions spécifiées

1
Integer SQLite.remove(Object opts) async;

Paramètres d'appel :

  • opts: Objet, liste de paramètres facultatifs

Résultats de retour :

  • Integer, renvoie le nombre d'enregistrements contenant des mises à jour

format

Formatez une commande SQL et renvoyez le résultat formaté

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

Paramètres d'appel :

  • method: String, spécifie la méthode demandée
  • opts: Objet, liste de paramètres facultatifs

Résultats de retour :

  • String, renvoie la commande SQL formatée

Formatez une commande SQL et renvoyez le résultat formaté

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

Paramètres d'appel :

  • sql: La chaîne, la chaîne de format et les paramètres facultatifs sont spécifiés avec ?. Par exemple : « SELECT FROM TEST WHERE [id]=? »
  • args: ..., liste de paramètres optionnels

Résultats de retour :

  • String, renvoie la commande SQL formatée

toString

Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.

1
String SQLite.toString();

Résultats de retour :

  • String, renvoie la représentation sous forme de chaîne de l'objet

toJSON

Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.

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

Paramètres d'appel :

  • key: Chaîne, non utilisée

Résultats de retour :

  • Value, renvoie une valeur contenant du JSON sérialisable