WebSQL是什么?
是指客户浏览器端的结构化的关系数据库,这是本地的RDBMS上执行SQL查询(属于浏览器本地自带存储之一,规范中使用的方言是SQLlite)
它一般用在移动端,和hybird开发
web SQL使用
1.创建数据库
//打开数据库,没有的话会进行创建,然后返回一个数据库对象进行操作 //openDatabase的参数介绍: //第一个参数:数据库名称 //第二个参数:版本号 //第三个参数:描述文本 //第四个参数:数据库大小 //第五个参数:创建回调 const db=openDatebase('mydb','1.0','Test DB',2*1024*1024); //打开控制台可以看见Web SQL下显示的是创建的表(mydb)
2.创建表并向表里新增数据
//执行事务(事务是后端的概念) db.transaction((tx)=>{ //下面都是去写sql进行数据库的操作 //当不存在USERS表的时候创建一个USERS表,并定义id [unique 是用来声明唯一的] name,age,time 字段 //约束数据类型的写法 暂时没 tx.exectuSql(`INSERT INTO USERS (id,name,age,time) VALUES (1,"天佑",18,"${new Date()}")`); tx.exectuSql(`INSERT INTO USERS (id,name,age,time) VALUES (2,"张扬",16,"{new Date()}")` ); })
3.查询数据
//执行事务 db.transaction((tx)=>{ //executeSql 执行SQL //参数配置 //第一个参数:要执行的sql //第二个参数:动态参数,可以给第一参数的sql使用 //第三个参数:回调函数,接收俩个参数 tx:数据库对象,res,执行完sql的response tx.executeSql('SELECT * FROM USERS',[],(tx,res)=>{ //通过输出表格的方式,直接输出这个表的内容 console.table(res,rows); }) })
4.修改数据 =>修改数据根据查找id来进行条件修改
db.transaction((tx)=>{ tx.executeSql('UPDATE USERS SET age=24 WHERE id=1') })
5.删除数据 根据id删除数据
db.transaction((tx)=>{
tx.executeSql('DELETE FROM USERS WHERE id=2');
})