ホームページ >ウェブフロントエンド >H5 チュートリアル >Web SQL データベースの使用方法のチュートリアル

Web SQL データベースの使用方法のチュートリアル

PHP中文网
PHP中文网オリジナル
2017-06-21 13:19:342260ブラウズ

Web SQL Database API は HTML5 仕様の一部ではありませんが、SQL を使用してクライアント データベースを操作するための API セットを導入する独立した仕様です。

コアメソッド

OpenDatabase - 既存のデータベースまたは新しいデータベースを使用してデータベースオブジェクトを作成します

トランザクション - 物事を制御し、その状況に基づいてコミットまたはロールバックを実行できます

ExecuteSql - 実際の SQL ステートメントを実行します

データベースを開く

//用openDatabase()方法打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

openDatabase()メソッドは、5つのパラメータの説明に対応します:

  1. データベース名

  2. バージョン番号

  3. 説明テキスト

  4. データベースサイズ (バイト)

  5. 作成コールバック (オプション)

5 番目のパラメーターである作成コールバックは、データベースの作成後に呼び出されます。

テーブルの作成

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

データの挿入

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.cnblogs.com")');
});

動的値を使用してデータを挿入することもできます

 db = openDatabase(, , ,  *  *

データの読み取り

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.cnblogs.com")');
});
 
db.transaction(function (tx) {
   tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {      var len = results.rows.length;
      msg = "<p>查询记录条数: " + len + "</p>";
      document.querySelector('#status').innerHTML +=  msg;    
      for (i = 0; i < len; i++){
          msg = "<p><b>" + results.rows[i].log + "</b></p>";
      }
    
   }, null);
});

レコードを削除

db.transaction(function (tx) {
    tx.executeSql('DELETE FROM LOGS  WHERE id=1');
});

データの削除も動的に行うことができます
db.transaction(function(tx) {
    tx.executeSql('DELETE FROM LOGS WHERE id=?', [id]);
});

レコードの更新

tx.executeSql("UPDATE CC SET logname='www.baidu.com' WHERE id=2");

データの更新も動的に行うことができます
tx.executeSql("UPDATE CC SET logname='www.baidu.com' WHERE id=?", [id]);

注: 削除と変更を、executeSql のテーブル作成ステートメントと組み合わせることはできません。別々に書くのが最善です

以下は構築されたデータベースです

以上がWeb SQL データベースの使用方法のチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。