Obxecto obxecto incorporado

objectSQLite

O obxecto SQLite é un módulo incorporadodbMembro de , responsable principalmente da conexión e funcionamento da base de datos SQLite, que se pode utilizar para operacións como a creación, consulta, inserción e actualización 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 transaccionais

Nas aplicacións prácticas, adoitamos crear táboas de datos de tipo SQLite segundo os requisitos empresariais e despois realizamos operacións como adición, eliminación, modificación e consulta de 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 para o campo vectorial na base de datos SQLite, buscar en base ao campo vectorial e obter o conxunto de vectores máis próximo ao vector de destino. Admite o uso de matrices de tipos numéricos 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)`);

As buscas vectoriais pódense realizar mediante 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 menor a maior. 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

atributo de membro

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, especifica o nome do ficheiro da base de datos de copia de seguridade

close

pecha a conexión de base de datos actual

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, especifica 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, o nome da transacción especificada, non especificada por defecto

commit

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

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

Parámetros de chamada:

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

rollback

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

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

Parámetros de chamada:

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

trans

Introduza unha transacción para executar unha función e comite ou retroceda segundo a 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

devolver resultado:

  • 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 falla

A execución da función ten tres resultados:

  • A función volve normalmente, incluíndo o final da operación e o retorno activo, e a transacción confirmarase automaticamente neste momento
  • A función devolve false, momento no que a transacción será revertida
  • A función execútase incorrectamente e a transacción revélase automaticamente

Introduza unha transacción para executar unha función e comite ou retroceda segundo a execución da función

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

Parámetros de chamada:

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

devolver resultado:

  • 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 falla

A execución da función ten tres resultados:

  • A función volve normalmente, incluíndo o final da operación e o retorno activo, e a transacción confirmarase automaticamente neste momento
  • A función devolve false, momento no que a transacción será revertida
  • A función execútase incorrectamente e a transacción revélase 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: String, String

devolver resultado:

  • NArray, Devolve unha matriz que contén os 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 formatear 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

devolver resultado:

  • NArray, Devolve unha matriz que contén os 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

inserir un novo rexistro

1
Number SQLite.insert(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

devolver resultado:

  • 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

devolver resultado:

  • NArray, devolve o rexistro de resultado que contén

count

Conta o número de rexistros de datos segundo as condicións especificadas

1
Integer SQLite.count(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, lista de parámetros

devolver resultado:

  • 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

devolver resultado:

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

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

devolver resultado:

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

format

Formatear un comando sql e devolver o resultado formateado

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

Parámetros de chamada:

  • method: Cadea, especifica o método da solicitude
  • opts: Obxecto, lista de parámetros opcional

devolver resultado:

  • 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

devolver resultado:

  • String, devolve o comando sql con formato

toString

Devolve a representación en cadea do obxecto, xeralmente devolve "[Obxecto nativo]", o obxecto pódese reimplementar segundo as súas propias características

1
String SQLite.toString();

devolver resultado:

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

toJSON

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

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

Parámetros de chamada:

  • key: Cadena, non usada

devolver resultado:

  • Value, que devolve un valor serializable por JSON