所有分类
  • 所有分类
  • 后端开发
HTML5 的 Web SQL Databases:主流浏览器支持的本地数据库 API 详解

HTML5 的 Web SQL Databases:主流浏览器支持的本地数据库 API 详解

本地数据库)的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的。3,对数据库的描述。创建的数据库就存在本地,路径如下:创建的是一个sqllite数据库,可以用SQLiteSpy打开文件,可以

今天咱们就说说HTML5里那个Web SQL数据库。别看它跟MySQL差不多复杂,但其实你也能像玩似的轻松操控它。那怎么搞定Web SQL Database API?我这就教你几个简单步骤咯:首先,创建个数据库,接着打开它,然后建立表,填入或修改数据,甚至可以直接删除整个表~

1. 打开并创建数据库

如果想搞定数据库,那就要学会用’openDatabase’这个技能。这个方法虽然有点麻烦,但关键是要告诉它我们需要啥样的数据库,用哪个版本的,还有数据库应该怎么去描述之类的。比如这样说吧:

javascript
搞定了~建个新数据库,只需要输入几个简单的单词:'mydb'(这可是我们的数据库名字呢),'1.0'(这个可是版本哦)和"测试数据库"这个个性的名字。然后设定下要使用的存储空间大小,2MB就够用!轻松完成!

哇!这就是说,得去找那个叫做”mydb”的数据库咯。如果找不到,那就自己动手来创建一个新的呗~

2. 创建数据表

好,咱们开始!首先得用那个叫 `transaction` 的东东启动个事务,然后用 `executeSql` 处理 SQL 语句,敲定要操作的那张表格就好。举个例子哈:

直接在这里开个小摊儿卖数据库,然后用我们的交易过程把事情解决掉

别慌,咱先弄个LOGS表。表格就俩字段,ID和LOG,注意ID要独特点。

var dataBase = openDatabase("student", "1.0", "学生表", 1024 * 1024, function () { });
if (!dataBase) {
alert("数据库创建失败!");
} else {
alert("数据库创建成功!");
}

});

这句话就是在你的数据库中创建一张叫”LOGS”的新表格,里面有两个关键字段:`id`跟`log`哦~

3. 添加数据

搞定表格之后,就可以用那个叫作’execcuteSql’的方法来添加内容了。大概就是这么个操作方式:

我们搞个新数据插入LOG表!把ID设为1,LOGTEXT写成”foobar”就可以了!只要敲几个字:”INSERT INTO LOGS (id, log) VALUES (1, ‘foobar’)”,搞定!

就在咱的’LOGS’表里加了个小东西: ‘id’被我设为1号,看看首页那条就知道啦; 然后,’log’那西,现在变成了”foobar”哟~

4. 查询数据

我们可以使用`executeSql`方法来查询数据。例如:

看看日志,把里面的东西都查一遍。就是这个:`tx.query(“SELECT * FROM LOGS”, null, function(res) {`)

我们先给结果里的行数定个名字叫len,然后用i来计数。

this.createTable=function() {
dataBase.transaction( function(tx) { 
tx.executeSql(
"create table if not exists stu (id REAL UNIQUE, name TEXT)", 
[], 
function(tx,result){ alert('创建stu表成功'); }, 
function(tx, error){ alert('创建stu表失败:' + error.message); 
});
});
}

for (i = 0; i < len; i++) {

检测结果出来了,第 i 行的日志是什么?

HTML5 的 Web SQL Databases:主流浏览器支持的本地数据库 API 详解

}

}, null);

这个小程序就是帮我们把”LOGs”表格里所有的记录都找出来。每次找到新纪录,都会弹出个新窗口告诉你那个“log”(日志)这栏是啥。

5. 更新数据

我们可以使用`executeSql`方法来更新数据。例如:

就直接对LOG表的第1条记录,将’log’这个字段改名为’更新后的日志’就好!

this.insert = function () {
dataBase.transaction(function (tx) {
tx.executeSql(
"insert into stu (id, name) values(?, ?)",
[id, '徐明祥'],
function () { alert('添加数据成功'); },
function (tx, error) { alert('添加数据失败: ' + error.message); 
} );
});

这段代码主要是去处理那带有’id’=1的’log’,然后改写成”已修改”!

6. 删除数据

this.query = function () {
dataBase.transaction(function (tx) {
tx.executeSql(
"select * from stu", [],
function (tx, result) { //执行成功的回调函数
//在这里对result 做你想要做的事情吧...........
},
function (tx, error) {
alert('查询失败: ' + error.message);
} );
});
}

我们可以使用`executeSql`方法来删除数据。例如:

删除LOG表中的第一条记录,就用两句代码搞定。

这段代码会删除`id`为1的记录。

7. 删除表

简而言之,如果想要去掉表格,那就按照这个步骤来做嘛——在你的SQL里头加个`executeSql`,如下所示:

interface SQLResultSet {
readonly attribute long insertId;
readonly attribute long rowsAffected;
readonly attribute SQLResultSetRowList rows;
};

把日志表删了,看到就烦。

这段代码会删除`LOGS`表。

经过我们刚刚的探讨,大家明白怎样利用HTML5的WebSQLDatabaseAPI来搭建自己的本地数据库了?这虽然并非HTML5的正规方式,不过对于在客户端存储和操作数据来说,简直就是必备利器!

HTML 5的Web SQL数据库API真心好用,存文件、弄数据都方便得很。用着就像操作MySQL那样顺手,想怎么建表、查数据、改删什么的都行。看完这篇文章,保证你也能用得溜儿。

this.update = function (id, name) {
dataBase.transaction(function (tx) {
tx.executeSql(
"update stu set name = ? where id= ?",
[name, id],
function (tx, result) {
},
function (tx, error) {
alert('更新失败: ' + error.message);
});
});
}

和你说说你们觉得HTML5里的那个Web SQL Database API怎么样?咱们可以在评论区聊聊,记得点赞支持我顺便把这篇文章分享给你的朋友们,让大家都来了解下这个Web SQL Database API究竟是个啥玩意儿。

this.del = function (id) {
dataBase.transaction(function (tx) {
tx.executeSql(
"delete from stu where id= ?",
[id],
function (tx, result) {
},
function (tx, error) {
alert('删除失败: ' + error.message);
});
});
}

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/07/19519.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?