Hướng dẫn what is web sql in html5? - web sql trong html5 là gì?


API cơ sở dữ liệu SQL Web không thực sự không phải là một phần của thông số kỹ thuật HTML5 nhưng đây là một đặc điểm kỹ thuật riêng biệt giới thiệu một tập hợp API để thao túng cơ sở dữ liệu phía máy khách bằng SQL.

Tôi cho rằng bạn là một nhà phát triển web tuyệt vời và nếu đó là trường hợp thì không còn nghi ngờ gì nữa, bạn sẽ nhận thức rõ về các khái niệm SQL và RDBMS. Nếu bạn vẫn muốn có một phiên với SQL sau đó, bạn có thể xem qua hướng dẫn SQL của chúng tôi.

Cơ sở dữ liệu web SQL sẽ hoạt động trong phiên bản mới nhất của Safari, Chrome và Opera.

Các phương pháp cốt lõi

Có ba phương pháp cốt lõi được xác định trong thông số kỹ thuật rằng tôi sẽ trình bày trong hướng dẫn này -

  • OpenDatabase - Phương thức này tạo đối tượng cơ sở dữ liệu bằng cách sử dụng cơ sở dữ liệu hiện có hoặc tạo một đối tượng mới. − This method creates the database object either using existing database or creating new one.

  • Giao dịch - Phương pháp này cho chúng ta khả năng kiểm soát giao dịch và thực hiện cam kết hoặc rollback dựa trên tình huống. − This method gives us the ability to control a transaction and performing either commit or rollback based on the situation.

  • ExecutesQL - Phương pháp này được sử dụng để thực thi truy vấn SQL thực tế. − This method is used to execute actual SQL query.

Mở cơ sở dữ liệu

Phương thức OpenDatabase sẽ quan tâm đến việc mở cơ sở dữ liệu nếu nó đã tồn tại, phương pháp này sẽ tạo nó nếu nó đã không tồn tại.

Để tạo và mở cơ sở dữ liệu, hãy sử dụng mã sau -

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

Phương pháp trên đã lấy năm tham số sau -

  • Tên cơ sở dữ liệu
  • Số phiên bản
  • Mô tả văn bản
  • Kích thước của cơ sở dữ liệu
  • Gọi lại sáng tạo

Đối số cuối cùng và thứ 5, cuộc gọi lại tạo sẽ được gọi nếu cơ sở dữ liệu được tạo. Tuy nhiên, nếu không có tính năng này, cơ sở dữ liệu vẫn đang được tạo ra và được phiên bản chính xác.

Thực hiện truy vấn

Để thực hiện một truy vấn, bạn sử dụng hàm cơ sở dữ liệu.transaction (). Chức năng này cần một đối số duy nhất, là một chức năng chăm sóc thực sự thực hiện truy vấn như sau -

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

Truy vấn trên sẽ tạo một bảng gọi là nhật ký trong cơ sở dữ liệu 'MyDB'.

Chèn hoạt động

Để tạo các mục nhập vào bảng, chúng tôi thêm truy vấn SQL đơn giản trong ví dụ trên như sau -

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, "foobar")'); 
   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")'); 
}); 

Chúng ta có thể vượt qua các giá trị động trong khi tạo nhập như sau -

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

Ở đây E_ID và E_LOG là các biến bên ngoài và ExecutesQL ánh xạ từng mục trong đối số mảng thành "?" S.e_id and e_log are external variables, and executeSql maps each item in the array argument to the "?"s.

Đọc hoạt động

Để đọc các bản ghi hiện có, chúng tôi sử dụng một cuộc gọi lại để ghi lại kết quả như sau -

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, "foobar")'); 
   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")'); 
});  

db.transaction(function (tx) { 
   tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { 
      var len = results.rows.length, i; 
      msg = "<p>Found rows: " + len + "</p>"; 
      document.querySelector('#status').innerHTML +=  msg; 
  
      for (i = 0; i < len; i++) { 
         alert(results.rows.item(i).log ); 
      } 
  
   }, null); 
});

Ví dụ cuối cùng

Vì vậy, cuối cùng, chúng ta hãy giữ ví dụ này trong một tài liệu HTML5 chính thức như sau và cố gắng chạy nó với trình duyệt Safari.

<!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, "foobar")'); 
            tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")'); 
            msg = '<p>Log message created and row inserted.</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>Found rows: " + 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">Status Message</div> 
   </body> 
</html>

Điều này sẽ tạo ra kết quả sau -

SQL trong HTML là gì?

SQL là viết tắt của ngôn ngữ truy vấn có cấu trúc.Structured Query Language.

SQL có phải là cơ sở dữ liệu web không?

Cơ sở dữ liệu Web SQL là một đặc tả API của Trình duyệt Web không dùng để lưu trữ dữ liệu trong cơ sở dữ liệu có thể được truy vấn bằng biến thể SQL.API được hỗ trợ bởi Google Chrome, Opera, Microsoft Edge và Trình duyệt Android, mặc dù hỗ trợ đang dần bị loại bỏ.. The API is supported by Google Chrome, Opera, Microsoft Edge, and the Android Browser, albeit support is slowly being phased out.

SQL trong phát triển web là gì?

SQL là viết tắt của ngôn ngữ truy vấn có cấu trúc và đó là ngôn ngữ tiêu chuẩn để quản lý dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ.Vì SQL là ngôn ngữ truy vấn và không phải là một sản phẩm phần mềm, các lệnh luôn giống nhau, giống như trong ngôn ngữ lập trình.Structured Query Language and it's a standard language to manage data stored in relational databases. As SQL is a query language and not a software product, the commands are always the same, just as in a programming language.

HTML5 có hỗ trợ SQL không?

Hoàn thành khóa học HTML/CSS 2022 API cơ sở dữ liệu SQL Web không thực sự không phải là một phần của đặc tả HTML5 nhưng đây là một đặc điểm kỹ thuật riêng biệt giới thiệu một tập hợp API để thao tác cơ sở dữ liệu phía máy khách bằng SQL.The Web SQL Database API isn't actually part of the HTML5 specification but it is a separate specification which introduces a set of APIs to manipulate client-side databases using SQL.