Latest web development tutorials
×

HTML курс

HTML курс HTML Краткое введение HTML редактор HTML Фонд HTML элемент HTML свойство HTML заголовок HTML пункт HTML Форматирование текста HTML ссылка HTML руководитель HTML CSS HTML изображение HTML таблица HTML список HTML блок HTML раскладка HTML форма HTML рамка HTML цвет HTML название цвета HTML значения цвета HTML скрипт HTML символьные объекты HTML URL HTML Быстрый список HTML резюме XHTML Введение

HTML5

HTML5 курс HTML5 Поддержка браузеров HTML5 Новый элемент HTML5 Canvas HTML5 Инлайн SVG HTML5 MathML HTML5 Перетаскивание HTML5 Географическое положение HTML5 видео(Video) HTML5 аудиочастота(Audio) HTML5 Input тип HTML5 элементы формы HTML5 Свойства формы HTML5 Смысловые элементы HTML5 Web память HTML5 Web SQL HTML5 кэш приложений HTML5 Web Workers HTML5 SSE HTML5 WebSocket HTML5 викторина HTML(5)Спецификация Код

HTML средства массовой информации

HTML средства массовой информации(Media) HTML Виджет HTML аудиочастота(Audio) HTML видеоплеер(Videos) HTML примеров

HTML справочное руководство

HTML список Теги(в алфавитном порядке) HTML список Теги(функция сортировки) HTML свойство HTML событие HTML холст HTML аудиочастота/видео HTML эффективный DOCTYPES HTML название цвета HTML Выбор цвета HTML Набор символов HTML ASCII HTML ISO-8859-1 HTML символ HTML URL кодирование HTML таблица условных сигналов HTTP новости HTTP способ Сочетания клавиш

HTML5 Web SQL Database

Веб-базы данных SQL API не является частью спецификации HTML5, но это отдельная спецификация, представила набор API-интерфейсов для использования базы данных SQL операции клиента.

Если вы задний конец веб-программист, он должен быть легко понять операции SQL.

Вы также можете обратиться в наш SQL учебник , чтобы узнать больше операций с базами данных знаний.

Web SQL Database может работать в последней версии Safari, Chrome и Opera браузер.


Основные методы

Ниже приведены три основные методы, определенные в спецификации:

  1. OpenDatabase: Этот метод использует существующую базу данных или создать новую базу данных объектов базы данных.
  2. сделка: Этот метод позволяет нам контролировать сделку, и на основании этого случая фиксации или отката.
  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' после выполнения.


Вставка данных

После выполнения выше заявление, чтобы создать таблицу, мы можем вставить некоторые данные:

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

Мы также можем использовать динамическое значение для вставки данных:

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 (?, ?'), [e_id, e_log];
});

Instance e_id e_log и внешние переменные, ExecuteSQL параметр массива отображается на каждой записи в "?".


Считывание данных

В следующем примере показано, как читать данные, которые уже в базе данных:

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

db.transaction(function (tx) {
   tx.executeSql('SELECT * FROM LOGS', [], 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).log );
      }
	
   }, null);
});

Полный пример

<!DOCTYPE HTML>
<html>

   <head>
	
      <script type="text/javascript">
		
         var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
         var msg;
			
         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.w3big.com")');
            msg = '<p>数据表已创建,且插入了两条数据。</p>';
            document.querySelector('#status').innerHTML =  msg;
         });

         db.transaction(function (tx) {
            tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
               var len = results.rows.length, i;
               msg = "<p>查询记录条数: " + len + "</p>";
               document.querySelector('#status').innerHTML +=  msg;
					
               for (i = 0; i < len; i++){
                  msg = "<p><b>" + results.rows.item(i).log + "</b></p>";
                  document.querySelector('#status').innerHTML +=  msg;
               }
            }, null);
         });
			
      </script>
		
   </head>
	
   <body>
      <div id="status" name="status">状态信息</div>
   </body>
	
</html>

Попробуйте »

Примеры вышеуказанных операционных результатов, как показано ниже:


Удалить запись

Формат удалять записи следующим образом:

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

Удалить указанный идентификатор данных также могут быть динамическими:

db.transaction(function(tx) {
    tx.executeSql('DELETE FROM LOGS WHERE id=?', [id]);
});

Обновление записей

обновлять записи, используя следующий формат:

db.transaction(function (tx) {
    tx.executeSql('UPDATE LOGS SET log=\'www.w3cschool.cc\' WHERE id=2');
});

Обновления указанным идентификатором данные также могут быть динамическими:

db.transaction(function(tx) {
    tx.executeSql('UPDATE LOGS SET log=\'www.w3cschool.cc\' WHERE id=?', [id]);
});

Полный пример

<!DOCTYPE HTML>
<html>
   <head>
      <meta charset="UTF-8">  
      <script type="text/javascript">
      
         var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
         var msg;
         
         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.w3big.com")');
            msg = '<p>数据表已创建,且插入了两条数据。</p>';
            document.querySelector('#status').innerHTML =  msg;
         });

         db.transaction(function (tx) {
              tx.executeSql('DELETE FROM LOGS  WHERE id=1');
              msg = '<p>删除 id 为 1 的记录。</p>';
              document.querySelector('#status').innerHTML =  msg;
         });

         db.transaction(function (tx) {
             tx.executeSql('UPDATE LOGS SET log=\'www.w3cschool.cc\' WHERE id=2');
              msg = '<p>更新 id 为 2 的记录。</p>';
              document.querySelector('#status').innerHTML =  msg;
         });

         db.transaction(function (tx) {
            tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
               var len = results.rows.length, i;
               msg = "<p>查询记录条数: " + len + "</p>";
               document.querySelector('#status').innerHTML +=  msg;
               
               for (i = 0; i < len; i++){
                  msg = "<p><b>" + results.rows.item(i).log + "</b></p>";
                  document.querySelector('#status').innerHTML +=  msg;
               }
            }, null);
         });
         
      </script>
      
   </head>
   
   <body>
      <div id="status" name="status">状态信息</div>
   </body>
   
</html>

Попробуйте »

Примеры вышеуказанных операционных результатов, как показано ниже: