>웹 프론트엔드 >H5 튜토리얼 >웹 SQL 데이터베이스 사용법 튜토리얼

웹 SQL 데이터베이스 사용법 튜토리얼

PHP中文网
PHP中文网원래의
2017-06-21 13:19:342257검색

웹 SQL 데이터베이스 API는 HTML5 사양의 일부가 아니지만 SQL을 사용하여 클라이언트 데이터베이스를 운영하기 위한 API 집합을 도입하는 독립적인 사양입니다.

핵심 메소드

OpenDatabase - 기존 데이터베이스 또는 새 데이터베이스를 사용하여 데이터베이스 객체 생성

트랜잭션 - 사물을 제어하고, 이 상황에 따라 커밋 또는 롤백을 수행할 수 있음

ExecuteSql - 실제 SQL 문 실행

open Database

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

5개 매개변수에 해당하는 openDatabase() 메서드 설명:

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

참고: 삭제 및 수정은 ExecutionSql의 테이블 생성 문과 결합할 수 없습니다. 따로 작성하는 것이 가장 좋습니다

다음은 구축된 데이터베이스입니다

위 내용은 웹 SQL 데이터베이스 사용법 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.