Objeto incorporado

ObjetoSQLite

Los objetos SQLite son módulos integrados.dbMiembro de la base de datos SQLite, principal responsable de la conexión y operación de la base de datos SQLite, y puede usarse para la creación, consulta, inserción, actualización y otras operaciones de la base de datos SQLite. Al mismo tiempo, el objeto SQLite también proporciona algunas operaciones avanzadas, como realizar copias de seguridad y formatear SQL. Los objetos de conexión SQLite también admiten operaciones de transacción.

En aplicaciones prácticas, generalmente creamos tablas de datos de tipo SQLite según las necesidades comerciales y luego realizamos operaciones como agregar, eliminar, modificar y consultar datos, por ejemplo:

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 también tiene un módulo vec_index incorporado. Podemos crear un índice en el campo vectorial en la base de datos SQLite, buscar según el campo vectorial y obtener el conjunto de vectores que sea más similar al vector de destino. Admite el uso de matrices de tipo numérico para representar vectores, como [1, 2, 3], y admite dimensiones vectoriales. Además, vec_index admite operaciones por lotes dentro de una transacción.

He aquí un ejemplo sencillo:

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ón de vectores se puede realizar utilizando la función vec_search, por ejemplo:

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 devuelve una colección de vectores más cercanos y una matriz de distancias, donde las distancias están ordenadas de pequeña a grande. Si necesita devolver varios conjuntos de vectores más cercanos, puede utilizar el parámetro :limit, por ejemplo:

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ón de herencia

propiedades de miembros

fileName

Cadena, nombre del archivo de base de datos actual

1
readonly String SQLite.fileName;

timeout

Entero, consultar y establecer el tiempo de espera de la base de datos, en milisegundos

1
Integer SQLite.timeout;

type

Cadena, consulta el tipo de base de datos de conexión actual

1
readonly String SQLite.type;

función miembro

backup

Haga una copia de seguridad de la base de datos actual en un archivo nuevo

1
SQLite.backup(String fileName) async;

Parámetros de llamada:

  • fileName: Cadena, especifique el nombre del archivo de la base de datos de respaldo

close

Cerrar la conexión de base de datos actual

1
SQLite.close() async;

use

Seleccione la base de datos predeterminada para la conexión de base de datos actual

1
SQLite.use(String dbName) async;

Parámetros de llamada:

  • dbName: Cadena, especifique el nombre de la base de datos

begin

Iniciar una transacción en la conexión de base de datos actual

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

Parámetros de llamada:

  • point: Cadena, especifica el nombre de la transacción, no especificado por defecto

commit

Confirmar la transacción en la conexión de base de datos actual

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

Parámetros de llamada:

  • point: Cadena, especifica el nombre de la transacción, no especificado por defecto

rollback

Revertir una transacción en la conexión de base de datos actual

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

Parámetros de llamada:

  • point: Cadena, especifica el nombre de la transacción, no especificado por defecto

trans

Ingrese una transacción para ejecutar una función y confirme o revierta según la ejecución de la función.

1
Boolean SQLite.trans(Function func);

Parámetros de llamada:

  • func: Función, una función ejecutada de forma transaccional

Resultados de devolución:

  • Boolean, devuelve si la transacción se ha confirmado, devuelve verdadero para una confirmación normal, devuelve falso para una reversión y arroja un error si la transacción sale mal.

Hay tres resultados de la ejecución de la función:

  • La función regresa normalmente, incluido el final de la operación y el retorno activo, momento en el cual la transacción se confirmará automáticamente.
  • La función devuelve falso y la transacción se revertirá
  • Error de operación de función, transacción revertida automáticamente

Ingrese una transacción para ejecutar una función y confirme o revierta según la ejecución de la función.

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

Parámetros de llamada:

  • point: Cadena, especifica el nombre de la transacción
  • func: Función, una función ejecutada de forma transaccional

Resultados de devolución:

  • Boolean, devuelve si la transacción se ha confirmado, devuelve verdadero para una confirmación normal, devuelve falso para una reversión y arroja un error si la transacción sale mal.

Hay tres resultados de la ejecución de la función:

  • La función regresa normalmente, incluido el final de la operación y el retorno activo, momento en el cual la transacción se confirmará automáticamente.
  • La función devuelve falso y la transacción se revertirá
  • Error de operación de función, transacción revertida automáticamente

execute

Ejecute un comando sql y devuelva el resultado de la ejecución

1
NArray SQLite.execute(String sql) async;

Parámetros de llamada:

  • sql: Cuerda, cuerda

Resultados de devolución:

  • NArray, devuelve una matriz que contiene registros de resultados. Si la solicitud es ACTUALIZAR o INSERTAR, el resultado devuelto también incluirá afectado e insertId. mssql no admite insertId.

Ejecute un comando sql y devuelva el resultado de la ejecución. La cadena se puede formatear de acuerdo con los parámetros.

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

Parámetros de llamada:

  • sql: Cadena, cadena de formato, los parámetros opcionales se especifican con ?. Por ejemplo: 'SELECCIONAR DE LA PRUEBA DONDE [id]=?'
  • args: ..., lista de parámetros opcionales

Resultados de devolución:

  • NArray, devuelve una matriz que contiene registros de resultados. Si la solicitud es ACTUALIZAR o INSERTAR, el resultado devuelto también incluirá afectado e insertId. mssql no admite insertId.

createTable

Crear tabla de datos

1
SQLite.createTable(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

dropTable

Eliminar tabla de datos

1
SQLite.dropTable(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

createIndex

Crear índice de tabla de datos

1
SQLite.createIndex(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

dropIndex

Eliminar índice de tabla de datos

1
SQLite.dropIndex(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

insert

Insertar nuevo registro

1
Number SQLite.insert(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

Resultados de devolución:

  • Number, devuelve la identificación que contiene la inserción, o 0 si el motor no lo admite.

find

Consultar datos según condiciones específicas.

1
NArray SQLite.find(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

Resultados de devolución:

  • NArray, devuelve registros que contienen resultados

count

Cuente el número de registros de datos según las condiciones especificadas

1
Integer SQLite.count(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

Resultados de devolución:

  • Integer, devuelve el número de registros que contienen el resultado

update

Actualizar datos según condiciones específicas

1
Integer SQLite.update(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros

Resultados de devolución:

  • Integer, devuelve el número de registros que contienen actualizaciones

remove

Eliminar datos según condiciones específicas

1
Integer SQLite.remove(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, lista de parámetros opcionales

Resultados de devolución:

  • Integer, devuelve el número de registros que contienen actualizaciones

format

Formatee un comando SQL y devuelva el resultado formateado

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

Parámetros de llamada:

  • method: Cadena, especifica el método solicitado
  • opts: Objeto, lista de parámetros opcionales

Resultados de devolución:

  • String, devuelve el comando sql formateado

Formatee un comando SQL y devuelva el resultado formateado

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

Parámetros de llamada:

  • sql: Cadena, cadena de formato, los parámetros opcionales se especifican con ?. Por ejemplo: 'SELECCIONAR DE LA PRUEBA DONDE [id]=?'
  • args: ..., lista de parámetros opcionales

Resultados de devolución:

  • String, devuelve el comando sql formateado

toString

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String SQLite.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable