前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端|HTML5也能操作数据库

前端|HTML5也能操作数据库

作者头像
算法与编程之美
修改2020-05-18 17:53:04
2.7K0
修改2020-05-18 17:53:04
举报
文章被收录于专栏:算法与编程之美

1 前言

在开发过程中,大多数项目都是后台编写代码对数据库进行操作,其实在HTML5中也可以使用Web Sql Api对数据库实现增删改查。

2 Web Sql的内容

2.1 三个核心方法

(1)openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。

(2)transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。

(3)executeSql:这个方法用于执行实际的 SQL 查询。

2.2 操作流程

2.2.1打开数据库

首先使用openDatabase()的方法来打开已存在的数据库,若不存在,则会自动创建一个新的数据库。

代码语言:javascript
复制

var db = openDatabase('Student', '1.0', 'Test',  2 * 1024 * 1024);

方法里面对应的参数分别是:

1.定义的数据库名称

2.数据库版本号

3.描述文本

4.数据库的大小

5.创建回调

2.2.2 执行相关的操作

(1)创建数据库和表

在创建表之前需要定义database.transaction() 函数

代码语言:javascript
复制
var db = openDatabase('Student', '1.0',  'Test', 2 * 1024 * 1024);

db.transaction(function (tx) { 

    tx.executeSql('CREATE TABLE IF NOT EXISTS STUDENT (id unique, name)');

});

执行上面的语句,就会在新建的数据库中创建一个名为STUDENT的表

插入数据

可以在新建的表中插入几条数据

代码语言:javascript
复制

var db = openDatabase('Student', '1.0',  'Test', 2 * 1024 * 1024);

db.transaction(function (tx) {

    tx.executeSql('CREATE TABLE IF NOT EXISTS STUDENT (id unique, name)');

    tx.executeSql('INSERT INTO STUDENT (id, name) VALUES (1, “Jack”)');

    tx.executeSql('INSERT INTO STUDENT (id, name) VALUES (2, “Lucy”)');

});

读取数据

代码语言:javascript
复制
db.transaction(function (tx) {

    tx.executeSql('SELECT * FROM STUDENT', [], function (tx, results) {

       var len = results.rows.length, i;

       msg = "<p>查询学生人数: " + len + "</p>";

       document.querySelector('#status').innerHTML +=  msg;

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

          alert(results.rows.item(i).name );

       }

    }, null);

});

删除数据

代码语言:javascript
复制

db.transaction(function (tx) {

     tx.executeSql('DELETE FROM STUDENT WHERE id=1');

});

更新数据

代码语言:javascript
复制
db.transaction(function (tx) {

     tx.executeSql('UPDATE STUDENT SET name = “Rose” WHERE id=2');

});

以上四种操作均可以用动态值的方式进行。

HTML5中的Web Sql虽然在功能上不是很完备,但是针对一些数据较少的项目,开发更加简单快速,也可以达到很好的效果。

END

主 编 | 张祯悦

责 编 | 冯 博

where2go 团队


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档