sqlite3_util v1.0.2
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
执行失败抛出异常