1.0.2 • Published 3 years ago

sqlite3_util v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

SQLite3 工具类API使用文档

一、初始化

1.安装sqlite3-util

npm install sqlite3-util

2.引入项目中,创建工具类实例

const db = require('sqlite3-util').createSqliteDB('test.db')// test.db为本地数据库的名称

3.创建表 createTable

createTable(tableName, options)

参数:

tableName 表名

options 表字段配置项

描述:

创建一个数据库表。

返回值:

返回一个Promise,表格创建成功后返回字符串Create table success,失败抛出异常

db.createTable('test', {
  id: 'INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE',
  name: 'VARCHAR',
  age: 'INT',
  score: 'INT',
  address: 'VARCHAR'
});

output:
create table if not exists test ( id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, name VARCHAR, age INT, score INT, address VARCHAR);

4.校验表格存在性 judgeTableExistence

judgeTableExistence(tableName)

参数:

tableName 表名

描述:

校验表格是否创建成功。

返回值:

返回一个Promise,如果执行成功返回true,执行失败返回false。

二、数据库表的操作

1.获取操作的表 table

table(tableName)

参数:

tableName 表名

描述:

获取操作的表

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

db.table('test')//.doSomething()

2.添加表字段 addTableColumn

addTableColumn(columnsOptions)

参数:

columnsOptions 添加的字段配置项 <object | object >

object配置如下:

​ column 字段名 必选 ​ type 字段类型 必选 ​ default 默认值 可选 | | | ;

描述:

添加表的字段,配合table()链式使用。

返回值:

返回一个Promise,如果执行成功返回字符串success,执行失败抛出异常。

db.table('test').addTableColumn([{
  column:'createTime1',
  type:'INT',
},{
  column:'createTime2',
  type:'INT',
  default:111
}]);

3.删除表字段 dropTableColumn

dropTableColumn(column)

参数:

column 删除的表字段 | Array

描述:

删除表的字段,配合table()链式使用。

返回值:

返回一个Promise,如果执行成功返回字符串success,执行失败抛出异常。

db.table('test').dropTableColumn('createTime2');

4.修改表字段 updateTableColumn

updateTableColumn(options)

参数:

options 更改字段的配置项

配置如下:

​ oldColumn 修改的字段名 必选 ​ newColumn? 新的字段名 可选 ​ newType? 新的字段类型 可选

描述:

修改表的字段(包括字段类型和字段名称),配合tabel()链式使用。

返回值:

返回一个Promise,如果执行成功返回字符串success,执行失败抛出异常。

三、数据库表数据的操作

1.插入信息Insert、into

Insert(options)

参数:

options 插入信息配置项

配置如下:

​ key 字段名 : value 内容

描述:

插入信息的配置,配合into()使用。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

Into(tableName)

参数:

tableName 要插入信息的表名

描述:

执行插入数据库操作,配合Insert()使用。

返回值:

返回一个Promise,如果执行成功返回字符串success,执行失败抛出异常。

db.insert({
  id:null,// 注意!表的主键插入信息时,需要进行配置并且设置值为null
  name:'小明',
  age:18,
  score:'88',
  address:'厦门'
}).into('test');

output:
INSERT INTO test ( 'id', 'name', 'age', 'score', 'address')VALUES( null, "小明", 18, "88", "厦门")

2.查找信息

where(...arg)

参数:

1)传递一个参数 使用对象形式 支持多个条件拼接

db.where({
 age:12,
 name:'小明'
}).select('*').from('test')

output:
SELECT * FROM test WHERE age = 12 AND name = '小明'

2)传递两个参数 支持一个条件拼接

db.where('id',2).select('*').from('test')

output:
SELECT * FROM test WHERE id = 2

3)传递三个参数 支持不等条件下的查询

db.where('age','>',22).select('*').from('test')

output:
SELECT * FROM test WHERE age  >  22 

描述:

拼接条件信息,放在操作方法之前。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

and(...arg)

参数:

1)传递一个参数 使用对象形式 支持多个条件拼接

db.where('age','>',22).and({
 address:'厦门',
 score:88
}).select('*').from('test')

output:
SELECT * FROM test WHERE age  >  22  AND address = 厦门 AND score = 88

2)传递两个参数 支持一个条件拼接

db.where('age','>',22).and('address','厦门').select('*').from('test')

output:
SELECT * FROM test WHERE age  >  22  AND address = 厦门

3)传递三个参数 支持不等条件下的查询

db.where('age','>',22).and('score','>','66').select('*').from('test')

output:
SELECT * FROM test WHERE age  >  22  AND score  >  66 

描述:

拼接条件信息,放在操作方法之前,where方法之后,不能脱离where方法单独使用。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

or(...arg)

参数:

1)传递一个参数 使用对象形式 支持多个条件拼接

db.where('age','>',22).or({
 address:'厦门',
 score:88
}).select('*').from('test')

output:
SELECT * FROM test WHERE age  >  22  OR address = 厦门 AND score = 88

2)传递两个参数 支持一个条件拼接

db.where('age','>',22).or('address','厦门').select('*').from('test')

output:
SELECT * FROM test WHERE age  >  22  OR address = 厦门

3)传递三个参数 支持不等条件下的查询

db.where('age','>',22).or('score','>','66').select('*').from('test')

output:
SELECT * FROM test WHERE age  >  22  OR score  >  66 

描述:

拼接条件信息,放在操作方法之前,where方法之后,不能脱离where方法单独使用。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

andWhere(...arg)

参数:

1)传递一个参数 使用对象形式 支持多个条件拼接

db.where('age','>',22).andWhere({
 address: '厦门'
}).select('*').from('test')

output:
SELECT * FROM test WHERE (age  >  22  AND address = '厦门')

2)传递两个参数 支持一个条件拼接

db.where('age','>',22).andWhere('address','厦门').select('*').from('test')

output:
SELECT * FROM test WHERE (age  >  22  AND address = '厦门')

3)传递三个参数 支持不等条件下的查询

db.where('age','>',22).andWhere('age','<',30).select('*').from('test')

output:
SELECT * FROM test WHERE (age  >  22  AND age  <  30)

描述:

该方法必须配合where、and、or进行使用,会将andWhere条件与前面的条件进行括号打包。

注意点:

1.使用andWhere的时候前面不使用多个条件拼接,而是将多个条件放在andWhere中。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

orWhere(...arg)

参数:

1)传递一个参数 使用对象形式 支持多个条件拼接

db.where('age','>',22).orWhere({
 address: '厦门',
 score:89
}).select('*').from('test')

output:
SELECT * FROM test WHERE (age  >  22  OR address = '厦门' OR  score = 89)

2)传递两个参数 支持一个条件拼接

db.where('age','>',22).orWhere('address','厦门').select('*').from('test')

output:
SELECT * FROM test WHERE (age  >  22  OR address = '厦门')

3)传递三个参数 支持不等条件下的查询

db.where('age','<',22).andWhere('age','>',30).select('*').from('test')

output:
SELECT * FROM test WHERE (age  <  22  OR age  >  30)

描述:

该方法必须配合where、and、or进行使用,会将orWhere条件与前面的条件进行括号打包。

注意点:

1.使用andWhere的时候前面不使用多个条件拼接,而是将多个条件放在orWhere中。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

select(...columns)

参数:

columns 字段名 自定义个数 Array

描述:

查找信息操作,需配合from方法。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

from(tableName)

参数:

tableName 操作信息的表名

描述:

通过表名进行操作,搭配delete、update、select使用,放在链式操作的最后。

返回值:

返回一个Promise,如果执行成功返回一个对象数组数据,执行失败抛出异常。

db.where('id',2).select('*').from('test')

output:
SELECT * FROM test WHERE id = 2

2.删除信息

delete()

参数:

描述:

删除信息操作,需配合from方法以及条件查询。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

db.where('score','>','95').and('score','<','90').delete().from('test');

output:
DELETE FROM test WHERE score  >  95 AND score  <  90 

db.where({
  id:2
}).update('name','小1').from('test')

3.修改信息

update(...arg)

参数:

1)传递一个参数 使用对象形式 支持多个信息进行修改

2)传递两个参数 支持一个条件进行修改

描述:

修改信息操作,需配合from方法以及条件查询。

返回值:

返回工具类实例对象,用于获取操作的表格对象进行链式操作。

// update一个参数
db.where({
	id:2
}).update({
  score:99
}).from('test')

output:
UPDATE test SET score = 99, address = '深圳' WHERE id = 2

// update两个参数
db.where({
	id:2
}).update('score',99).from('test')

output:
UPDATE test SET score = 99 WHERE id = 2

四、自定义sql进行操作

useSql(sql)

参数:

sql 自定义sql字符串

描述:

自定义sql操作,可自定义包括表结构的更改以及数据的增删改查。

返回值:

返回一个Promise,执行成功结果如下:

当执行查询语句时,返回一个数据对象数组;

当执行操作语句时,返回一个字符串success

执行失败抛出异常

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago