HTML5 Web SQL 数据库 创建及查询【创建数据库:openDatabase(); 创建表及插入数据的函数:database.transaction(function (tx){})】

HTML5 Web SQL 数据库

Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。

如果你是一个 Web 后端程序员,应该很容易理解 SQL 的操作。

你也可以参考我们的 SQL 教程,了解更多数据库操作知识。

Web SQL 数据库可以在最新版的 Safari, Chrome 和 Opera 浏览器中工作。


核心方法

以下是规范中定义的三个核心方法:

  1. openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
  2. transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
  3. executeSql:这个方法用于执行实际的 SQL 查询。

打开数据库

我们可以使用 openDatabase() 方法来打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库,使用代码如下:

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

openDatabase() 方法对应的五个参数说明:

  1. 数据库名称
  2. 版本号
  3. 描述文本
  4. 数据库大小
  5. 创建回调

第五个参数,创建回调会在创建数据库后被调用。


执行查询操作

执行操作使用 database.transaction() 函数:

var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
    
   tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
});

上面的语句执行后会在 'mydb' 数据库中创建一个名为 LOGS 的表。


插入数据

在执行上面的创建表语句后,我们可以插入一些数据:

var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
  
   tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "菜鸟教程")');
   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "www.runoob.com")');
});

我们也可以使用动态值来插入数据:

var db = openDatabase('mydb', '1.0', 'Test DB'
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebSQL中,你可以使用JavaScript API来与数据库进行交互。以下是WebSQL中最常用的一些API: 1. 打开一个数据库连接: ```javascript var db = openDatabase('mydb', '1.0', 'My database', 2 * 1024 * 1024); ``` 这里我们使用 `openDatabase()` 方法来打开一个数据库连接,参数分别为数据库名称、版本号、数据库描述和数据库大小。如果该数据库不存在,则会被创建。 2. 执行SQL语句: ```javascript db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS users (id unique, name)'); tx.executeSql('INSERT INTO users (id, name) VALUES (?, ?)', [1, 'John']); }); ``` 这里我们使用 `db.transaction()` 方法开启一个事务,并在该事务中执行两个SQL语句:创建一个名为 `users` 的表,以及插入一条数据。其中第二个SQL语句中的 `?` 是一个占位符,用来接受传入的参数。 3. 查询数据库: ```javascript db.transaction(function (tx) { tx.executeSql('SELECT * FROM users', [], function (tx, result) { for (var i = 0; i < result.rows.length; i++) { console.log(result.rows.item(i)); } }); }); ``` 这里我们使用 `tx.executeSql()` 方法来执行一个查询语句,并在查询完成后,通过回调函数获取查询结果。其中 `result.rows` 包含了查询结果的行,可以通过 `result.rows.item(index)` 方法获取指定行的数据。 需要注意的是,WebSQL已经不再被推荐使用,因为它已经被IndexedDB所取代。如果你需要在浏览器中进行数据存储和访问,建议使用IndexedDB或者Web Storage API来处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值