Obxecto obxecto incorporado

ObjectSQLite

Os obxectos SQLite son módulos incorporadosdbMembro da base de datos SQLite, responsable principalmente da conexión e funcionamento da base de datos SQLite, e pode usarse para a creación, consulta, inserción, actualización e outras operacións da base de datos SQLite. Ao mesmo tempo, o obxecto SQLite tamén ofrece algunhas operacións avanzadas como copia de seguridade e formato SQL. Os obxectos de conexión SQLite tamén admiten operacións de transacción

En aplicacións prácticas, adoitamos crear táboas de datos de tipo SQLite en función das necesidades empresariais e despois realizamos operacións como engadir, eliminar, modificar e consultar datos, por exemplo:

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 tamén ten un módulo vec_index incorporado.Podemos crear un índice no campo de vectores da base de datos SQLite, buscar en base ao campo de vectores e obter o conxunto de vectores máis semellante ao vector de destino. Admite o uso de matrices de tipo numérico para representar vectores, como [1, 2, 3], e admite dimensións vectoriais. Ademais, vec_index admite operacións por lotes dentro dunha transacción.

Aquí tes un exemplo sinxelo:

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

A recuperación de vectores pódese realizar usando a función vec_search, por exemplo:

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 devolve unha colección de vectores máis próximos e unha matriz de distancias, onde as distancias están ordenadas de pequena a grande. Se precisa devolver varios conxuntos de vectores máis próximos, pode usar o parámetro :limit, por exemplo:

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 herdanza

propiedades dos membros

fileName

Cadea, nome do ficheiro de base de datos actual

1
readonly String SQLite.fileName;

timeout

Enteiro, consulta e establece o tempo de espera da base de datos, en milisegundos

1
Integer SQLite.timeout;

type

String, consulta o tipo de base de datos de conexión actual

1
readonly String SQLite.type;

función de membro

backup

Fai unha copia de seguranza da base de datos actual nun ficheiro novo

1
SQLite.backup(String fileName) async;

Parámetros de chamada:

  • fileName: Cadea, especifique o nome do ficheiro da base de datos de copia de seguridade

close

Pecha a conexión actual da base de datos

1
SQLite.close() async;

use

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

1
SQLite.use(String dbName) async;

Parámetros de chamada:

  • dbName: Cadea, especifique o nome da base de datos

begin

Iniciar unha transacción na conexión de base de datos actual

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

Parámetros de chamada:

  • point: Cadea, especifica o nome da transacción, non especificado por defecto

commit

Confirme a transacción na conexión de base de datos actual

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

Parámetros de chamada:

  • point: Cadea, especifica o nome da transacción, non especificado por defecto

rollback

Revertir unha transacción na conexión de base de datos actual

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

Parámetros de chamada:

  • point: Cadea, especifica o nome da transacción, non especificado por defecto

trans

Introduza unha transacción para executar unha función e comite ou retroceda en función da execución da función.

1
Boolean SQLite.trans(Function func);

Parámetros de chamada:

  • func: Función, unha función executada de forma transaccional

Resultados de devolución:

  • Boolean, devolve se a transacción está confirmada, devolve verdadeiro para a confirmación normal, devolve false para a recuperación e arroxa un erro se a transacción sae mal.

Hai tres resultados da execución da función:

  • A función volve normalmente, incluíndo o final da operación e o retorno activo, momento no que a transacción confirmarase automaticamente.
  • A función devolve false e a transacción será revertida
  • Erro na operación da función, a transacción retrocedeuse automaticamente

Introduza unha transacción para executar unha función e comite ou retroceda en función da execución da función.

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

Parámetros de chamada:

  • point: Cadea, especifica o nome da transacción
  • func: Función, unha función executada de forma transaccional

Resultados de devolución:

  • Boolean, devolve se a transacción está confirmada, devolve verdadeiro para a confirmación normal, devolve false para a recuperación e arroxa un erro se a transacción sae mal.

Hai tres resultados da execución da función:

  • A función volve normalmente, incluíndo o final da operación e o retorno activo, momento no que a transacción confirmarase automaticamente.
  • A función devolve false e a transacción será revertida
  • Erro na operación da función, a transacción retrocedeuse automaticamente

execute

Execute un comando sql e devolve o resultado da execución

1
NArray SQLite.execute(String sql) async;

Parámetros de chamada:

  • sql: Corda, corda

Resultados de devolución:

  • NArray, devolve unha matriz que contén rexistros de resultados. Se a solicitude é UPDATE ou INSERT, o resultado devolto tamén incluirá afectados e insertId. mssql non admite insertId.

Execute un comando sql e devolve o resultado da execución. A cadea pódese formatar segundo os parámetros.

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

Parámetros de chamada:

  • sql: A cadea, a cadea de formato e os parámetros opcionais especifícanse con ?. Por exemplo: 'SELECT FROM TEST WHERE [id]=?'
  • args: ..., lista de parámetros opcional

Resultados de devolución:

  • NArray, devolve unha matriz que contén rexistros de resultados. Se a solicitude é UPDATE ou INSERT, o resultado devolto tamén incluirá afectados e insertId. mssql non admite insertId.

createTable

Crear táboa de datos

1
SQLite.createTable(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

dropTable

Eliminar a táboa de datos

1
SQLite.dropTable(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

createIndex

Crear índice de táboa de datos

1
SQLite.createIndex(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

dropIndex

Eliminar o índice da táboa de datos

1
SQLite.dropIndex(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

insert

Insire novo rexistro

1
Number SQLite.insert(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

Resultados de devolución:

  • Number, devolve o id que contén a inserción ou 0 se o motor non o admite.

find

Consulta os datos en función das condicións especificadas

1
NArray SQLite.find(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

Resultados de devolución:

  • NArray, devolve rexistros que conteñen resultados

count

Conta o número de rexistros de datos en función das condicións especificadas

1
Integer SQLite.count(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

Resultados de devolución:

  • Integer, devolve o número de rexistros que conteñen o resultado

update

Actualizar os datos en función das condicións especificadas

1
Integer SQLite.update(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

Resultados de devolución:

  • Integer, devolve o número de rexistros que conteñen actualizacións

remove

Elimina os datos en función das condicións especificadas

1
Integer SQLite.remove(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros opcional

Resultados de devolución:

  • Integer, devolve o número de rexistros que conteñen actualizacións

format

Formatear un comando sql e devolver o resultado formateado

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

Parámetros de chamada:

  • method: String, especifica o método solicitado
  • opts: Obxecto, lista de parámetros opcional

Resultados de devolución:

  • String, devolve o comando sql con formato

Formatear un comando sql e devolver o resultado formateado

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

Parámetros de chamada:

  • sql: A cadea, a cadea de formato e os parámetros opcionais especifícanse con ?. Por exemplo: 'SELECT FROM TEST WHERE [id]=?'
  • args: ..., lista de parámetros opcional

Resultados de devolución:

  • String, devolve o comando sql con formato

toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String SQLite.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable