编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Autojs的数据库操作

wxchong 2024-06-17 22:37:10 开源技术 13 ℃ 0 评论

本地存储和数据的区别

本地存储只能通过完整的键来查询对应的值

且无法获取键

局限性十分大

数据库可以通过完整的列名查询,也可以通过某个关键字查询

相比于本地存储

数据库可以说完全碾压

新建一个数据库

会先判断数据库是否存在

如果存在,则自动打开数据库

如果不存在,则自动创建

const db = sqlite.open('sql.db');

建表

const db = sqlite.open(

'sql.db',

{

#指定数据库的版本

version: 1

},

onOpen: function(d)

{

-- 建表脚本

d.execSQL(

-- id是列名 INTEFER是id的数据类型

-- PRIMARY KEY 表示将id设置为主键

-- AUTOINCREMENT 表示添加数据时自动增加id数据


'create table mytable('+

'id INTEGER PRIMARY KEY AUTOINCREMENT,'+

'name TEXT NOT NULL)'

);

}

);

增加数据

db.insert('mytable', {

name: "test"

});

查询数据

--查询全部

db.rawQuery("SELECT name as 名字 FROM " + mytable, null).all();

--查询第一个

db.rawQuery("SELECT name as 名字 FROM " + mytable, null).single();

--指定查询

db.rawQuery("SELECT name as 名字 FROM WHERE name=?" + mytable, ['name']).single();

--模糊查询

db.rawQuery("SELECT name as 名字 FROM WHERE name like ?" + mytable, ['%'+'name'+'%']).single();

删除数据

db.delete(mytable, "name = 'test'", null));

修改数据

db.update(mytable, { name: "haha" }, "name = ?", ["hehe"]));

事务管理

.on("begin", function (t) {

--此时事务开始,但并未提交到数据库

})

.on("commit", function (t) {

--事务提交,此时已保存到数据库

})

.on("rollback", function (t) {

--事务回滚,判断开始的事务是否符合

--不符合则返回,符合则会提交

})

.on("end", function (t) {

--事务结束

})

.on("error", function (e) {

--事务发生异常

});

db.close();

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表