Web SQL 데이터베이스 API는 실제로 HTML5 사양의 필수 부분이 아니라 별도의 사양입니다. API 세트를 사용하여 클라이언트의 데이터베이스를 조작합니다. Safari, Chrome, Firefox 및 Opera와 같은 주류 브라우저는 이미 웹 SQL 데이터베이스를 지원했습니다. HTML5의 웹 SQL 데이터베이스는 실제로 유혹적입니다. 로컬 데이터베이스를 작동하기 위해 MySQL 쿼리와 동일한 쿼리 문을 사용할 수 있다면이 일이 매우 흥미로울 것입니다. 오늘, HTML 5의 웹 SQL 데이터베이스 API에 대해 알아 보겠습니다.
다음은 데이터베이스를 생성 및 열고, 테이블 생성, 데이터 추가, 데이터 업데이트, 데이터 삭제 및 테이블 삭제 방법을 소개합니다.
먼저 세 가지 핵심 방법을 소개합니다
1. OpenDatabase :이 메소드는 기존 데이터베이스를 사용하거나 새 데이터베이스를 작성하여 데이터베이스 개체를 만듭니다.
2. 거래 :이 방법을 사용하면 상황에 따라 거래 커밋 또는 롤백을 제어 할 수 있습니다.
3. ExecutesQL :이 메소드는 실제 SQL 쿼리를 실행하는 데 사용됩니다.
1 단계 : 연결을 열고 데이터베이스를 만듭니다
var database = opendatabase ( "학생", "1.0", "학생 테이블", 1024 * 1024, function () {});
if (! 데이터베이스) {
ALERT ( "데이터베이스 작성 실패!");
} 또 다른 {
ALERT ( "데이터베이스 생성이 성공적으로!");
}
OpenDatabase 메소드를 설명하면 기존 데이터베이스가 열리고 데이터베이스가 존재하지 않으면 데이터베이스를 만들 수도 있습니다. 몇 가지 매개 변수는 다음과 같습니다.
1. 데이터베이스 이름.
2. 버전 번호는 현재 1.0입니다. 어쨌든, 당신이 그것을 죽이기 위해 쓰면 괜찮습니다.
3. 데이터베이스 설명.
4. 데이터 크기를 설정하십시오.
5. 콜백 함수 (생략 할 수 있음).
첫 번째 호출에서 데이터베이스를 작성한 다음 연결을 설정하십시오.
생성 된 데이터베이스는 로컬이며 경로는 다음과 같습니다.
C :/사용자/관리자/AppData/Local/Google/Chrome/사용자 데이터/기본/데이터베이스/http_localhost_4987.
생성 된 SQLITE 데이터베이스를 사용하여 SQLITESPY로 파일을 열 수 있으며 내부의 데이터를 볼 수 있습니다. sqlitespy는 녹색 소프트웨어입니다. Baidu 또는 공식 Sqlitespy 다운로드 : Sqlitespy의 주소를 다운로드 할 수 있습니다.
2 단계 : 데이터 테이블을 만듭니다
this.createtable = function () {
database.Transaction (function (tx) {
tx.executesql (
"그렇지 않은 경우 테이블 작성 stu (id real 고유, 이름 텍스트)",
[],
function (tx, result) {alert ( 'stu 테이블을 성공적으로 만들었습니다'); },
function (tx, error) {alert ( 'stu 테이블 작성 실패 :' + error.message);
});
});
}
설명,
executesQL 함수에는 네 가지 매개 변수가 있으며 그 의미는 다음과 같습니다.
1) 쿼리 문자열을 나타내고 사용 된 SQL 언어는 SQLite 3.6.19입니다.
2) 문자열 데이터를 물음표가있는 쿼리에 삽입하십시오.
3) 성공하면 콜백 함수가 실행되었습니다. TX와 실행 결과라는 두 가지 매개 변수를 반환합니다.
4) 고장시 실행 된 콜백 함수. TX와 실패 오류 메시지의 두 매개 변수를 반환합니다.
3 단계 : 추가, 삭제, 수정 및 검색을 수행하십시오
1) 데이터 추가 :
this.insert = function () {
database.Transaction (function (tx) {
tx.executesql (
"stu (id, name) 값 (?,?)에 삽입",
[id, 'xu mingxiang'],
function () {alert ( '성공적으로 데이터 추가'); },
function (tx, error) {alert ( '데이터 추가 실패 :' + error.message);
});
});
2) 쿼리 데이터
this.query = function () {
database.Transaction (function (tx) {
tx.executesql (
"select * from stu", [],
function (tx, result) {// 성공적인 콜백 함수를 실행합니다
// 여기에서 결과를 위해하고 싶은 일을하십시오 .........
},
함수 (TX, 오류) {
ALERT ( '쿼리 실패 :' + error.message);
});
});
}
설명하십시오
위 코드에서 성공적으로 실행 된 콜백 함수에는 매개 변수 결과가 있습니다.
결과 : 쿼리 된 데이터 세트. 데이터 유형은 C#의 데이터 가능과 마찬가지로 SQLRESULTSET입니다.
sqlresultset의 정의는 다음과 같습니다.
인터페이스 sqlresultset {
readonly 속성 긴 insertId;
readonly long rowsaffected;
readonly 속성 sqlresultsetrowlist 행;
};
가장 중요한 속성 - SQLRESULSTSETROWLIST 유형 행은 데이터 세트의 행입니다.
행에는 길이와 항목의 두 가지 속성이 있습니다.
따라서 쿼리 결과와 쿼리의 열의 열 값을 가져옵니다. result.rows [i] .item [fieldName].
3) 데이터 업데이트
this.update = function (id, name) {
database.Transaction (function (tx) {
tx.executesql (
"stu set name =? where id =?", 업데이트
[이름, id],
함수 (TX, 결과) {
},
함수 (TX, 오류) {
ALERT ( '업데이트 실패 :' + error.message);
});
});
}
4) 데이터 삭제
this.del = function (id) {
database.Transaction (function (tx) {
tx.executesql (
"stu에서 삭제에서 id =?",
[ID],
함수 (TX, 결과) {
},
함수 (TX, 오류) {
ALERT ( 'deletion 실패 :' + error.message);
});
});
}
5) 데이터 테이블을 삭제합니다
this.droptable = function () {
database.Transaction (function (tx) {
tx.executesql ( '드롭 테이블 stu');
});
}
웹 SQL 데이터베이스 데모 추가, 삭제, 수정 및 확인을위한 웹 SQL 데이터베이스 데모를 빠르게 다운로드하십시오.