您的位置:首页 > 数据库

Web SQL Database

2015-11-13 17:33 330 查看

概要

Web SQL Database,中文一般翻译为“本地数据库”,是一组网页API,网页可以利用来存储数据在数据库中,并通过各种SQL进行查询。

Web SQL Database曾经在W3C推荐规范上,但The W3C Web Applications Working Group在2010年已经终止了在该规范上的工作,它最终没成为一个推荐标准。规范工作只所以终止,是因为陷入了一个僵局:所有的实现都基于同一个SQL后端(SQLite),但我们需要更多的独立实现来完成标准化。虽然如此,大部分浏览器还是提供了对这一API的支持(Can I use Web SQL Database?),开发者还是可以利用这种技术。

Web SQL Database API实际上并不是HTML5规范的一部分,它是一个独立的规范,它引入一组APIs,用于通过SQL操作客户端数据库。当我们需要处理大量结构化数据时,就可以利用该技术。

规范文档:http://dev.w3.org/html5/webdatabase/

如何判断是否支持Web SQL Database

使用浏览器访问如下内容的页面可以判断浏览器是否支持Web SQL Database

<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width minimal-ui">
</head>
<body>
<p id="result"></p>
<script>
var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);
if (db != null)
document.getElementById("result").innerHTML = ("当前浏览器支持 Web SQL Database");
else
document.getElementById("result").innerHTML = ("当前浏览器不支持 Web SQL Database");
</script>
</body>
</html>


如何使用

主要就是打开数据库、读写数据库

可以参考这篇文章: HTML5本地存储——Web SQL Database

更详细的介绍可以参看这篇指南

缺点

Web SQL Database最大的问题在于SQL上,实际上并不存在一种叫做SQL的标准结构化查询语言,我们平常使用的实际上是MS SQL、Oracle SQL、MySQL SQL、postgre SQL或者SQLite SQL(尽管有一个叫做SQL-92的规范,但它基本形同虚设),更进一步,甚至都不存在SQLite SQL,我们使用的实际上是SQLite x.y.z SQL,而这也就是Web SQL Database最大的问题,它无法统一各个浏览器厂商实现的SQL语言,如果你的某条Web SQL查询只能在Chrome上运行,这还能叫做标准吗?

参考

HTML5 Storage Wars - localStorage vs. IndexedDB vs. Web SQL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HTML5存储