객체 내장 객체

ObjectSQLite

SQLite 객체는 내장 모듈입니다.db주로 SQLite 데이터베이스의 연결 및 작동을 담당하며 SQLite 데이터베이스의 생성, 쿼리, 삽입, 업데이트 및 기타 작업에 사용될 수 있는 SQLite 데이터베이스의 구성원입니다. 동시에 SQLite 개체는 백업 및 SQL 형식 지정과 같은 일부 고급 작업도 제공합니다. SQLite 연결 개체도 트랜잭션 작업을 지원합니다.

실제 응용 프로그램에서는 일반적으로 비즈니스 요구에 따라 SQLite 유형의 데이터 테이블을 만든 다음 데이터 추가, 삭제, 수정 및 쿼리와 같은 작업을 수행합니다. 예를 들면 다음과 같습니다.

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에는 vec_index 모듈도 내장되어 있는데, SQLite 데이터베이스의 벡터 필드에 대한 인덱스를 생성하고, 벡터 필드를 기반으로 검색하여 대상 벡터와 가장 유사한 벡터 세트를 얻을 수 있습니다. 숫자 유형 배열을 사용하여 [1, 2, 3]과 같은 벡터를 표현하고 벡터 차원을 지원합니다. 또한 vec_index는 트랜잭션 내에서 일괄 작업을 지원합니다.

간단한 예는 다음과 같습니다.

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

벡터 검색은 vec_search 함수를 사용하여 수행할 수 있습니다. 예를 들면 다음과 같습니다.

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는 가장 가까운 벡터 모음과 거리 배열을 반환하며, 여기서 거리는 작은 것부터 큰 것 순으로 정렬됩니다. 가장 가까운 벡터 세트를 여러 개 반환해야 하는 경우 :limit 매개변수를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

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

상속관계

구성원 속성

fileName

문자열, 현재 데이터베이스 파일 이름

1
readonly String SQLite.fileName;

timeout

정수, 쿼리 및 데이터베이스 시간 제한 설정(밀리초)

1
Integer SQLite.timeout;

type

문자열, 현재 연결 데이터베이스 유형을 쿼리합니다.

1
readonly String SQLite.type;

멤버 함수

backup

현재 데이터베이스를 새 파일로 백업

1
SQLite.backup(String fileName) async;

호출 매개변수:

  • fileName: 문자열, 백업 데이터베이스 파일 이름을 지정합니다.

close

현재 데이터베이스 연결 닫기

1
SQLite.close() async;

use

현재 데이터베이스 연결에 대한 기본 데이터베이스를 선택하세요.

1
SQLite.use(String dbName) async;

호출 매개변수:

  • dbName: 문자열, 데이터베이스 이름을 지정합니다.

begin

현재 데이터베이스 연결에서 트랜잭션 시작

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

호출 매개변수:

  • point: 문자열, 기본적으로 지정되지 않은 트랜잭션 이름을 지정합니다.

commit

현재 데이터베이스 연결에서 트랜잭션을 커밋합니다.

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

호출 매개변수:

  • point: 문자열, 기본적으로 지정되지 않은 트랜잭션 이름을 지정합니다.

rollback

현재 데이터베이스 연결에서 트랜잭션 롤백

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

호출 매개변수:

  • point: 문자열, 기본적으로 지정되지 않은 트랜잭션 이름을 지정합니다.

trans

함수를 실행하기 위해 트랜잭션을 입력하고, 함수 실행에 따라 커밋 또는 롤백합니다.

1
Boolean SQLite.trans(Function func);

호출 매개변수:

  • func: 함수, 트랜잭션 방식으로 실행되는 함수

결과 반환:

  • Boolean, 트랜잭션이 커밋되었는지 여부를 반환하고, 일반 커밋의 경우 true를 반환하고, 롤백의 경우 false를 반환하고, 트랜잭션이 잘못되면 오류를 발생시킵니다.

func 실행에는 세 가지 결과가 있습니다.

  • 함수는 작업 종료 및 활성 반환을 포함하여 정상적으로 반환되며 이때 트랜잭션이 자동으로 커밋됩니다.
  • 함수는 false를 반환하고 트랜잭션은 롤백됩니다.
  • 함수 연산 오류, 트랜잭션 자동 롤백

함수를 실행하기 위해 트랜잭션을 입력하고, 함수 실행에 따라 커밋 또는 롤백합니다.

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

호출 매개변수:

  • point: 문자열, 트랜잭션 이름을 지정합니다.
  • func: 함수, 트랜잭션 방식으로 실행되는 함수

결과 반환:

  • Boolean, 트랜잭션이 커밋되었는지 여부를 반환하고, 일반 커밋의 경우 true를 반환하고, 롤백의 경우 false를 반환하고, 트랜잭션이 잘못되면 오류를 발생시킵니다.

func 실행에는 세 가지 결과가 있습니다.

  • 함수는 작업 종료 및 활성 반환을 포함하여 정상적으로 반환되며 이때 트랜잭션이 자동으로 커밋됩니다.
  • 함수는 false를 반환하고 트랜잭션은 롤백됩니다.
  • 함수 연산 오류, 트랜잭션 자동 롤백

execute

SQL 명령을 실행하고 실행 결과를 반환합니다.

1
NArray SQLite.execute(String sql) async;

호출 매개변수:

  • sql: 문자열, 문자열

결과 반환:

  • NArray, 결과 레코드가 포함된 배열을 반환합니다. 요청이 UPDATE 또는 INSERT인 경우 반환된 결과에는 영향을 받은 및 insertId도 포함됩니다. mssql은 insertId를 지원하지 않습니다.

SQL 명령을 실행하고 실행 결과를 반환하며, 문자열은 매개변수에 따라 형식화될 수 있습니다.

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

호출 매개변수:

  • sql: 문자열, 형식 문자열, 선택적 매개변수는 ?로 지정됩니다. 예: '테스트에서 선택: [id]=?'
  • args: ..., 선택적 매개변수 목록

결과 반환:

  • NArray, 결과 레코드가 포함된 배열을 반환합니다. 요청이 UPDATE 또는 INSERT인 경우 반환된 결과에는 영향을 받은 및 insertId도 포함됩니다. mssql은 insertId를 지원하지 않습니다.

createTable

데이터 테이블 생성

1
SQLite.createTable(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

dropTable

데이터 테이블 삭제

1
SQLite.dropTable(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

createIndex

데이터 테이블 인덱스 생성

1
SQLite.createIndex(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

dropIndex

데이터 테이블 인덱스 삭제

1
SQLite.dropIndex(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

insert

새 레코드 삽입

1
Number SQLite.insert(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

결과 반환:

  • Number, 삽입이 포함된 ID를 반환하거나, 엔진이 이를 지원하지 않는 경우 0을 반환합니다.

find

지정된 조건에 따라 데이터 쿼리

1
NArray SQLite.find(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

결과 반환:

  • NArray, 결과가 포함된 레코드를 반환합니다.

count

지정된 조건에 따라 데이터 레코드 수를 계산합니다.

1
Integer SQLite.count(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

결과 반환:

  • Integer, 결과를 포함하는 레코드 수를 반환합니다.

update

지정된 조건에 따라 데이터 업데이트

1
Integer SQLite.update(Object opts) async;

호출 매개변수:

  • opts: 객체, 매개변수 목록

결과 반환:

  • Integer, 업데이트가 포함된 레코드 수를 반환합니다.

remove

지정된 조건에 따라 데이터 삭제

1
Integer SQLite.remove(Object opts) async;

호출 매개변수:

  • opts: 객체, 선택적 매개변수 목록

결과 반환:

  • Integer, 업데이트가 포함된 레코드 수를 반환합니다.

format

SQL 명령 형식을 지정하고 형식화된 결과를 반환합니다.

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

호출 매개변수:

  • method: 문자열, 요청된 메소드를 지정합니다.
  • opts: 객체, 선택적 매개변수 목록

결과 반환:

  • String, 형식화된 SQL 명령을 반환합니다.

SQL 명령 형식을 지정하고 형식화된 결과를 반환합니다.

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

호출 매개변수:

  • sql: 문자열, 형식 문자열, 선택적 매개변수는 ?로 지정됩니다. 예: '테스트에서 선택: [id]=?'
  • args: ..., 선택적 매개변수 목록

결과 반환:

  • String, 형식화된 SQL 명령을 반환합니다.

toString

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String SQLite.toString();

결과 반환:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

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

호출 매개변수:

  • key: 문자열, 사용되지 않음

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.