Web SQL:
Web SQL是一种简单的存在服务器中的数据库,运行在javascript脚本中,其数据储存在计算机Application中Web SQL中。
web sql提供了三个核心方法:
1.openDatabase(‘dbname’,‘edition’,‘explain’,‘size’),此方法用于查找数据库,如果没有则会创建一个新的数据库,其参数依次代表:数据库名称,版本号,描述文本,数据库大小。
2.transaction(),用于控制一个数据库,里面传入一个函数,函数的参数作为操作数据库的对象。
3.executeSql(sql,),用于执行SQL语句;参数一表示执行的SQL语句;参数二表示行分隔符,当返回的结果有多行时,使用此参数做为行分隔符,一般情况下传入null或[],不传会报错;参数三可传入一个函数,函数的第二个参数则为数据对象;参数四为SQL语句查询时的参数,常用于where SQL语句查询。
web sql增删改查案例:
<script>// 1.查询或创建一个web数据库:var db = openDatabase('mywebdbs', '1.0', 'Test DB', 1 * 1024 * 1024);// 2.transaction对数据库db进行操作,里面传入函数,函数参数为被操作对象:(数据库的增)db.transaction(function(dbtest) {// 1.通过executeSql执行SQL语句,create table if not exists CHART,来判断是否存在表CHART,不存在则创建名为CHART的表dbtest.executeSql('CREATE TABLE IF NOT EXISTS CHART (id unique, log)');// 2.通过executeSql执行SQL语句,向CHART表中插入一条数据结构为(id,log)值为(1,"hello word")的数据:dbtest.executeSql('INSERT INTO CHART (id,log) VALUES (1,"hello word")');dbtest.executeSql('INSERT INTO CHART (id,log) VALUES (2,"my name is jack")');// 扩展:dbtest.executeSql('INSERT INTO CHART (id,log) VALUES (?, ?)', [e_id, e_log]);里面的SQL语句为动态的插入数据});// 3.通过transaction对数据库db进行操作,里面传入函数,函数参数为被操作对象:(数据库的查(读))db.transaction(function(dbtest) {// 1.通过executeSql执行SQL语句:'SELECT * FROM CHART',表示从CHART表中查询所有数据,按照下下面方式接收处理数据(参数二不能省略,一般为[]或null),每组数据都是一个对象,可以通过console.log(results.rows)查看数据结构,dbtest.executeSql('SELECT * FROM CHART', null, function(dbtest, results) {// 2.results返回的是一个对象,其中属性rows里面存着插入的数据对象和length属性,因此可以通过results.rows.length来控制循环次数打印每个对象的数据for (var i = 0; i < results.rows.length; i++) {console.log('id:' + results.rows[i].id + '--' + 'log:' + results.rows[i].log);};}, null);});// 4.通过transaction对数据库db进行操作,里面传入函数,函数参数为被操作对象:(数据库的改)db.transaction(function(dbtest) {// 1.通过executeSql执行SQL语句,'UPDATE CHART SET log='update logs!' WHERE id=1',表示从CHART表中根据id查询到该条数据,并修改log的值dbtest.executeSql('UPDATE CHART SET log="update logs!" WHERE id=2');// 扩展:dbtest.executeSql('UPDATE CHART SET log='新值' WHERE id=?', [id]),里面的SQL语句支持动态传入id值进行修改数据});// 5.通过transaction对数据库db进行操作,里面传入函数,函数参数为被操作对象:(数据库的删)db.transaction(function(dbtest) {// 1.通过executeSql执行SQL语句,'DELETE FROM CHART WHERE id=1',表示从CHART表中根据id删除该条数据:dbtest.executeSql('DELETE FROM CHART WHERE id=1');// 扩展:dbtest.executeSql('DELETE FROM CHART WHERE id=?', [id]),里面的SQL语句支持动态传入id值进行删除数据});</script>
提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。
笔者:苦海