HTML5也能操作数据库

简介: HTML5也能操作数据库



1 前言

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


2 Web Sql的内容


2.1 三个核心方法

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

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

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


2.2 操作流程

2.2.1打开数据库

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

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

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

1.定义的数据库名称

2.数据库版本号

3.描述文本

4.数据库的大小

5.创建回调


2.2.2 执行相关的操作

1)创建数据库和表

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

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的表

插入数据

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

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)');

});

读取数据

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);

});

删除数据

db.transaction(function (tx) {

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

});

更新数据

db.transaction(function (tx) {

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

});

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


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


目录
相关文章
|
2月前
|
存储 移动开发 大数据
HTML5 Web IndexedDB 数据库详解
IndexedDB 是一种高效的浏览器存储方案,允许在本地存储大量结构化数据,支持索引和事务,适用于需要离线和大数据处理的应用。它由数据库、对象仓库等组成,通过键值对存储数据,确保数据一致性和完整性。本介绍展示了如何创建、读取、更新和删除数据,以及事务和错误处理的最佳实践。
|
2月前
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
|
2月前
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
4月前
|
前端开发 Java 关系型数据库
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
252 0
|
5月前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错合集之cdc postgres数据库,当表行记录修改后报错,该如何修改
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
SQL 监控 关系型数据库
实时计算 Flink版操作报错合集之在设置监控PostgreSQL数据库时,将wal_level设置为logical,出现一些表更新和删除操作报错,怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
关系型数据库 Java 数据库
实时计算 Flink版操作报错合集之flinksql采PG数据库时报错,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错合集之在处理PostgreSQL数据库遇到报错。该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
消息中间件 关系型数据库 数据库
实时计算 Flink版操作报错合集之在使用RDS数据库作为源端,遇到只能同步21个任务,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
SQL 数据库 Python
Django框架数据库ORM查询操作(6)
【7月更文挑战第6天】```markdown Django ORM常用数据库操作:1) 查询所有数据2) 根据ID查询 3) 精确查询 4) 分页排序
82 1