HTML5 内置本地数据库之Sqlite

HTML5 内置本地数据库之Sqlite一、关于HTML5和web本地数据库SQLite 可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事物、数据表和索引等,且占用资源较少,可在移动设备上轻松使用。 HTML5中添加了很多功能,将一些以前必须保存在服务器上的数据转向本地保存,提高了Web应用程序性能的同时还减轻了服务器的负担。然而关于Web SQL Database有一个不太好
摘要由CSDN通过智能技术生成

HTML5 内置本地数据库之Sqlite

一、关于HTML5和web本地数据库

SQLite 可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事物、数据表和索引等,且占用资源较少,可在移动设备上轻松使用。
HTML5中添加了很多功能,将一些以前必须保存在服务器上的数据转向本地保存,提高了Web应用程序性能的同时还减轻了服务器的负担。然而关于Web SQL Database有一个不太好的消息(来自网络):

我们经常在数据库中处理大量结构化数据,html5引入Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的是SQLlite,悲剧正是产生于此,Web SQL Database规范页面有着这样的声明

这里写图片描述

This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path.

大概意思就是

这个文档曾经在W3C推荐规范上,但规范工作已经停止了。目前已经陷入了一个僵局:目前的所有实现都是基于同一个SQL后端(SQLite),但是我们需要更多的独立实现来完成标准化。

也就是说这是一个废弃的标准了,虽然部分浏览器已经实现

一上来就泼凉水确实不太好 ,但是学习一下总归没有什么坏处的,对吧?
目前我已知的支持Web SQL Database的浏览器有chrome(估计还有别的,只是我没用到~),然而火狐和IE并不支持
W3C目前力推的H5本地数据库是IndexedDB

二、H5 Sqlite数据库三个核心API

opendatabase:使用现有数据库或创建新数据库创建数据库对象

var db = openDatabase('myTel','1.0','test db',1024*100);
//四个参数分别是数据库名 版本 数据库描述 大小
//当该数据库不存在的时候创建并打开数据库,否则直接打开数据库。
//创建的数据库存于本地浏览器的Cache 文件夹。

transaction:事务,可根据情况控制事务提交或回滚

db.transaction(callback)
//用作事务处理,来操作数据库

executeSql:用于执行SQL查询

db.transaction(function(tx){
   
    tx.executeSql('SQL语句',[参数数组],dataHandler,errorHandler)
})
//executeSql的四个参数:
//1、操作数据库的SQL语句
//2、SQL语句中使用的参数的数组
//3、语句操作成功调用的方法
//4、语句操作失败调用的方法
  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
要将HTML5表单数据传入本地SQLite数据库,您需要使用一些服务器端的编程语言(如Python、PHP等)来处理表单数据,并将其存储到SQLite数据库中。下面是一个使用Python和SQLite的示例代码: 首先,确保您已经安装了Python和SQLite的相关库。 ```python import sqlite3 from flask import Flask, request app = Flask(__name__) # 创建数据库连接 conn = sqlite3.connect('your_database.db') cursor = conn.cursor() # 创建表 cursor.execute('''CREATE TABLE IF NOT EXISTS form_data (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT, message TEXT)''') conn.commit() # 处理表单数据的路由 @app.route('/submit_form', methods=['POST']) def submit_form(): # 获取表单数据 name = request.form.get('name') email = request.form.get('email') message = request.form.get('message') # 将数据插入数据库 cursor.execute("INSERT INTO form_data (name, email, message) VALUES (?, ?, ?)", (name, email, message)) conn.commit() return 'Form data submitted successfully!' if __name__ == '__main__': app.run() ``` 上述代码使用Flask框架创建了一个简单的Web应用,它可以接收来自HTML表单的POST请求,并将数据存储到SQLite数据库中。在表单提交时,通过`request.form.get`方法获取表单字段的值,然后使用SQL插入语句将数据插入到数据库中。 在命令行中运行上述代码后,您将获得一个本地服务器,它将监听`http://localhost:5000/submit_form`地址接收表单数据。您可以根据自己的需要修改路由和数据库表的结构。 请注意,这只是一个示例代码,您可能需要根据实际情况进行适当的修改和扩展。此外,您还需要编写HTML表单以向服务器发送数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值