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 หน่วย Character HTML URL HTML รายการที่รวดเร็ว HTML ย่อ บทนำ XHTML

HTML5

HTML5 หลักสูตร HTML5 สนับสนุนเบราว์เซอร์ HTML5 องค์ประกอบใหม่ HTML5 Canvas HTML5 inline 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 ทาง แป้นพิมพ์ลัด

ฐานข้อมูล SQL บนเว็บ HTML5

เว็บฐานข้อมูล SQL API ไม่ได้เป็นส่วนหนึ่งของข้อกำหนด HTML5 แต่มันเป็นข้อกำหนดแยกต่างหากแนะนำชุดของ API ที่จะใช้ฐานข้อมูลลูกค้าการดำเนินงาน SQL

ถ้าคุณเป็นโปรแกรมเมอร์เว็บท้ายด้านหลังก็ควรจะง่ายต่อการเข้าใจการดำเนินงาน SQL

นอกจากนี้คุณยังสามารถดูของเรา กวดวิชา SQL ที่จะเรียนรู้การดำเนินงานฐานข้อมูลความรู้เพิ่มเติม

เว็บฐานข้อมูล SQL สามารถทำงานในรุ่นล่าสุดของ 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];
});

เช่น 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');
});

นำข้อมูลที่ระบุ ID ยังสามารถเป็นแบบไดนามิก:

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

การปรับปรุงข้อมูลที่ระบุ ID ยังสามารถเป็นแบบไดนามิก:

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>

ลอง»

ตัวอย่างของผลการดำเนินงานดังกล่าวข้างต้นดังต่อไปนี้: