Web SQL介绍,web sql中增删改查、数据存储位置、运行脚本、建表建库
Web SQL:
Web SQL是一種簡單的存在服務(wù)器中的數(shù)據(jù)庫,運(yùn)行在javascript腳本中,其數(shù)據(jù)儲(chǔ)存在計(jì)算機(jī)Application中Web SQL中。
web sql提供了三個(gè)核心方法:
1.openDatabase(‘dbname’,‘edition’,‘explain’,‘size’),此方法用于查找數(shù)據(jù)庫,如果沒有則會(huì)創(chuàng)建一個(gè)新的數(shù)據(jù)庫,其參數(shù)依次代表:數(shù)據(jù)庫名稱,版本號(hào),描述文本,數(shù)據(jù)庫大小。
2.transaction(),用于控制一個(gè)數(shù)據(jù)庫,里面?zhèn)魅胍粋€(gè)函數(shù),函數(shù)的參數(shù)作為操作數(shù)據(jù)庫的對象。
3.executeSql(sql,),用于執(zhí)行SQL語句;參數(shù)一表示執(zhí)行的SQL語句;參數(shù)二表示行分隔符,當(dāng)返回的結(jié)果有多行時(shí),使用此參數(shù)做為行分隔符,一般情況下傳入null或[],不傳會(huì)報(bào)錯(cuò);參數(shù)三可傳入一個(gè)函數(shù),函數(shù)的第二個(gè)參數(shù)則為數(shù)據(jù)對象;參數(shù)四為SQL語句查詢時(shí)的參數(shù),常用于where SQL語句查詢。
web sql增刪改查案例:
<script>// 1.查詢或創(chuàng)建一個(gè)web數(shù)據(jù)庫:var db = openDatabase('mywebdbs', '1.0', 'Test DB', 1 * 1024 * 1024);// 2.transaction對數(shù)據(jù)庫db進(jìn)行操作,里面?zhèn)魅牒瘮?shù),函數(shù)參數(shù)為被操作對象:(數(shù)據(jù)庫的增)db.transaction(function(dbtest) {// 1.通過executeSql執(zhí)行SQL語句,create table if not exists CHART,來判斷是否存在表CHART,不存在則創(chuàng)建名為CHART的表dbtest.executeSql('CREATE TABLE IF NOT EXISTS CHART (id unique, log)');// 2.通過executeSql執(zhí)行SQL語句,向CHART表中插入一條數(shù)據(jù)結(jié)構(gòu)為(id,log)值為(1,"hello word")的數(shù)據(jù):dbtest.executeSql('INSERT INTO CHART (id,log) VALUES (1,"hello word")');dbtest.executeSql('INSERT INTO CHART (id,log) VALUES (2,"my name is jack")');// 擴(kuò)展:dbtest.executeSql('INSERT INTO CHART (id,log) VALUES (?, ?)', [e_id, e_log]);里面的SQL語句為動(dòng)態(tài)的插入數(shù)據(jù)});// 3.通過transaction對數(shù)據(jù)庫db進(jìn)行操作,里面?zhèn)魅牒瘮?shù),函數(shù)參數(shù)為被操作對象:(數(shù)據(jù)庫的查(讀))db.transaction(function(dbtest) {// 1.通過executeSql執(zhí)行SQL語句:'SELECT * FROM CHART',表示從CHART表中查詢所有數(shù)據(jù),按照下下面方式接收處理數(shù)據(jù)(參數(shù)二不能省略,一般為[]或null),每組數(shù)據(jù)都是一個(gè)對象,可以通過console.log(results.rows)查看數(shù)據(jù)結(jié)構(gòu),dbtest.executeSql('SELECT * FROM CHART', null, function(dbtest, results) {// 2.results返回的是一個(gè)對象,其中屬性rows里面存著插入的數(shù)據(jù)對象和length屬性,因此可以通過results.rows.length來控制循環(huán)次數(shù)打印每個(gè)對象的數(shù)據(jù)for (var i = 0; i < results.rows.length; i++) {console.log('id:' + results.rows[i].id + '--' + 'log:' + results.rows[i].log);};}, null);});// 4.通過transaction對數(shù)據(jù)庫db進(jìn)行操作,里面?zhèn)魅牒瘮?shù),函數(shù)參數(shù)為被操作對象:(數(shù)據(jù)庫的改)db.transaction(function(dbtest) {// 1.通過executeSql執(zhí)行SQL語句,'UPDATE CHART SET log='update logs!' WHERE id=1',表示從CHART表中根據(jù)id查詢到該條數(shù)據(jù),并修改log的值dbtest.executeSql('UPDATE CHART SET log="update logs!" WHERE id=2');// 擴(kuò)展:dbtest.executeSql('UPDATE CHART SET log='新值' WHERE id=?', [id]),里面的SQL語句支持動(dòng)態(tài)傳入id值進(jìn)行修改數(shù)據(jù)});// 5.通過transaction對數(shù)據(jù)庫db進(jìn)行操作,里面?zhèn)魅牒瘮?shù),函數(shù)參數(shù)為被操作對象:(數(shù)據(jù)庫的刪)db.transaction(function(dbtest) {// 1.通過executeSql執(zhí)行SQL語句,'DELETE FROM CHART WHERE id=1',表示從CHART表中根據(jù)id刪除該條數(shù)據(jù):dbtest.executeSql('DELETE FROM CHART WHERE id=1');// 擴(kuò)展:dbtest.executeSql('DELETE FROM CHART WHERE id=?', [id]),里面的SQL語句支持動(dòng)態(tài)傳入id值進(jìn)行刪除數(shù)據(jù)});</script>提示:本文圖片等素材來源于網(wǎng)絡(luò),若有侵權(quán),請發(fā)郵件至郵箱:810665436@qq.com聯(lián)系筆者 刪除。
筆者:苦海
總結(jié)
以上是生活随笔為你收集整理的Web SQL介绍,web sql中增删改查、数据存储位置、运行脚本、建表建库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux网站465端口是什么端口,发送
- 下一篇: node中模块系统及核心模块、执行nod