更新记录
100(2023-07-25) 下载此版本
100首发
平台兼容性
Vue2 | Vue3 |
---|---|
√ | × |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.7.9 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
liulusqlite.js
sqlite封装
使用
import sqlite from '@js_sdkliuluhtml5plusliulusqliteliulusqlite.js';
const sqliteDB = new sqlite('数据库名');
方法介绍
openDb() 打开数据库 如果数据库存在则打开数据库,不存在则创建数据库且打开数据库。
isOpen() 监听(判断)数据库是否是开启状态 return bool
closeSQL() 关闭数据库 return
addTable(tabName,sql)
创建表,
tabName 表名 不能用数字作为表格名的开头
return
sql字符串语句 如:
kv型数据(type(取值:int,text,json)sql = CREATE TABLE IF NOT EXISTS config ("key" TEXT PRIMARY KEY NOT NULL UNIQUE, "value" TEXT NOT NULL DEFAULT '', "type" TEXT NOT NULL DEFAULT '')
;
sql = create table if not exists xinghao( "xinghao_id" INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, "brand_id" INT NOT NULL DEFAULT '', "xinghao_name" CHAR(32) NOT NULL DEFAULT '', "pinyin" CHAR(32) NOT NULL DEFAULT '', "sehao_name" CHAR(32) NOT NULL DEFAULT '', "number" INT NOT NULL DEFAULT '', "shop_price" INT NOT NULL DEFAULT '', "beizhu" TEXT NOT NULL DEFAULT '' )
;
getTable() 查询所有数据表名列表 return array
isTable(tabName) 判断某表是否存在 return bool
getField(tabName) 获取某表 的所有字段 列表 另外参考:查找索引和外键: PRAGMA index_list(myTable) 另外参考:查找索引和外键: PRAGMA foreign_key_list(myTable)
getPrimary(tabName) 获取表的主键名 return
dropTable(tabName) 删除表 不管表内有无数据
getCount(tabName,whereArr) 查询tabName表数据记录数 whereArr 数组[{fuhao:'符号=',field:'字段名如id',value:值1}] return 数字
updateSQL(tabName, setData, whereArr) 修改数据: setData(obj) 键值对 whereArr=[{fuhao:'=',field:'user_id',value:user_id}] return 空
deleteSQL(tabName,whereArr) 删除数据表数据 whereArr =[{fuhao:'=',field:'user_id',value:user_id}] return 空
sumSQL(tabName,sumStr,whereArr) 返回 某字段或某SUM语句之和 tabName表名(string), sumStr (string),如;fieldAfieldB whereArr(arr)= [{fuhao:'=',field:'user_id',value:user_id}] return 数字
addSQL(tabName,obj) 添加新数据 obj 键值对 return 空
colSQL(tabName,whereArr,field) 查寻某若干指定列的值 whereArr = [{fuhao:'=',field:'user_id',value:user_id}] field 逗号相隔的字段名(string) return array
mergeSql(tabName,tabs) 合并数据 即insert or ignore插入数据,表中主键字段的已经有数据的跳过, 另外阅读https:blog.csdn.netqq_36373500articledetails125891552 tabs(obj) 要写入的键值对 return 空
getDataList(tabName, num, size,whereArr,orderby) 获取分页数据库数据 ,适合分页的大量数据 或 搜索列表 有 whereArr(array)==[{fuhao:'=',field:'user_id',value:user_id}] 有limit==numsize(num页码,size每页数量), 有orderby(obj) return { paged={more: 0,page: num,size: size,total: 0,count:0},more: 是否还有数据,page: 当前页数,size每页数,total数据总数,count总页数 data:e }
selectDataList(tabName,whereArr,limit,orderby) 查询数据库数据, 适合中数据量 或 限定只取几条数据 且无limitnumsize分页 有whereArr (array) ==[{fuhao:'=',field:'user_id',value:user_id}] 有orderby(obj) 有limit 取几条数据 (是0的话不设置) return array
selectSQL(tabName,whereStr,limit,orderby) 自定义字符串的where语句 查询 另:由于其他查询的where关系 全部是and,该方法为了解决非and及其他复杂的where whereStr,自定义字符串的where语句 limit, 取几条数据,==0时不设置 orderby (obj) 空对象时,不设置 return array
getList(tabName,whereArr) 查询数据库数据 有whereArr 无orderby无limit无limitnumsize分页, 适合小数据量且无需页码无需排序 列表 whereArr=[{fuhao:'=',field:'user_id',value:user_id}] return array
getOne(tabName,whereArr)
查询一条数据
tabName 表名
whereArr=[{fuhao:'=',field:'user_id',value:user_id}]
return obj
insertGetOne(tabName,obj) tabName 表名 obj 键值对 return obj
updateGetOne(tabName, setData, whereArr) 原理:update后用whereArr再查询数据库,所以:whereArr中必须带主键 tabName 表名 whereArr=[{fuhao:'=',field:'user_id',value:user_id}] setData 要update的键值对(obj) return obj
------------------KV----------------
kventries(tabName)
获取全部keyvalue键值对
return obj
kvput(tabName,setData)
设置值
额外知识点: (当INSERT已经存在的数据时ignore忽略, REPLACE修改)
tabName 表名
setData==(object){key: value,key1:value1}
return 空
kvget(tabName,key)
获取值
key key键名
return value值 type==json时obj else string 找不到返回null