一、初识WebSQL数据库
开始学WebSQL的时候,我有点摸不着头脑。后来才知道,它不属于HTML5,让人有点小惊讶。这其实是个独立的标准,能通过API在客户端操作数据库。而且,常见的浏览器如Safari、Chrome、Firefox和Opera都支持它,这让我更有兴趣去研究这门技术!
原来WebSQL数据库也就这么点儿事儿,真新奇!首先得了解下,通过openDatabase()我们就能搞定创建或连接数据库了,简直太好用了?接下来说说事务处理,这个可得熟练运用,用好的话可以说是咱们的得力助手了。然后别忘了用executeSql()来执行SQL查询,这样整个过程就完成!
二、深入理解openDatabase()方法
用OpenDatabase()可开现成的,也能自个儿搞定一个!这个功能真强大,让我可以随意在客户端存储数据。
给你说说用openDatabase()的时候要记住传入几个参数,包括设置数据库名、选个版本号、加注几句说明,以及大概需要多少存储空间。这样就能更清楚地掌握自家数据库!我还试过搞几个大小不一样的数据库,看看网页上显示咋样。折腾完了之后,我对建档和管理数据库可是有更深的认识。
三、掌握transaction()方法的重要性
搞WebSQL数据库这事儿,老是遇到个叫”事务”的东西,所有操作必须一气呵成,否则前功尽弃。特别是要确保数据的完整性和一致性的时候。
刚开始学习敲代码,特地查阅了Transaction()这个方法,边学边练SQL设置和操作。遇到错误也很留意,因为在现实生活中,犯错后怎么处理真的很关键!多试几次后,发现对Transaction()的使用越来越得心应手了。
四、executeSql()方法的实战应用
掌握了用ExecuteSql()执行SQL查询之后,我就开始动手尝试一些基础的SQL操作,像SELECT、INSERT、UPDATE还有DELETE这些。讲真不难哦~用法简单到只要给出要查询的信息,以SQL的方式写出,再加一个回调函数就大功告成!
学习了好久的executeSQL(),我要尝试更高级的查询技巧。能看到查询结果了,还有参数化查询防黑客,想不到WebSQL数据库这么牛逼!
五、WebSQL数据库的局限性
虽然WebSQL数据库功能还行,但也有些缺点。比如,大多数浏览器都不能用,最新的Firefox和Edge就不行;另外,现在这个规定也老了点,以后改进可能性不大。
INDEXEDDB好有趣!接下来我打算试试其他的存储方法。虽然开始觉得WEBSQL挺好使的,但是问题还是挺多的。所以,凡是可能的我会都试一试咯~
六、我的学习感悟
上完这门课,对WebSQL数据库可是掌握得炉火纯青了!学会了其中的三大武器,还真刀实枪地操练过如何设计和维护数据库。虽然WebSQL有些小限制,但在分析客户端储存数据方面可是一把好手哟。
学SQL让我明白!学东西,就是得好学好问。咱搞研发的,得多练!技术总是变来变去的不是?
七、未来的学习方向
学完WebSQL后,我想再了解一些流行的客户端储存技术。现在就准备开始研究下IndexedDB,感觉会更深入地明白这一大堆东西!
学完WebSQL就想去实操下呀~毕竟,实践才是硬道理!就希望能在项目中学到更多,提高技能和经验。
//创建数据库 var db = window.openDatabase("dawanganban", "1.0","数据库描述",20000); //创建数据表 db.transaction(function(tx) { tx.executeSql("CREATE TABLE test (id int UNIQUE, mytitle TEXT, timestamp REAL)"); }); //插入数据 db.transaction(function(tx) { tx.executeSql("INSERT INTO test (id, mytitle, timestamp) values(?, ?, ?)", [1, "WEB Database", new Date().getTime()], null, null); }); //插入数据 db.transaction(function(tx) { tx.executeSql("INSERT INTO test (id, mytitle, timestamp) values(?, ?, ?)", [2, "DaWanGanBan", new Date().getTime()], null, null); }); //删除数据 /* db.transaction(function(tx){ tx.executeSql("DELETE FROM test where mytitle=?",["WEB Database"],null,null); }); */ //db.transaction(function(tx) { // tx.executeSql("DROP TABLE qqs"); //}) //db.transaction(function(tx) { // tx.executeSql("update test set mytitle=? where mytitle = 'fsafdsaf'",['xp'],null,null); //}); //查询数据 db.transaction(function(tx) { tx.executeSql("SELECT * FROM test", [], function(tx, result) { for(var i = 0; i < result.rows.length; i++){ document.write('' + result.rows.item(i)['mytitle'] + '
'); } }, function(){ alert("error"); }); });
结语
学习WebSQL库真的挺费劲儿,不过收获也满多。我现在能用自如,还有些学习小心得供大家参考。那你们在学习新技巧时有啥困扰吗?咋克服的?赶紧到评论区说说你的经验哈。记得点赞再转发,让更多小伙伴参与咱们的技术冒险!
评论0