码迷,mamicode.com
首页 > 数据库 > 详细

Web SQL Database 的基本用法

时间:2015-08-09 23:51:03      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

  这两天了解了下 Web SQL Datebase,觉得有必要mark一下,虽然目前它已暂停研发,但相信在以后会有很棒的发展。在此仅mark下它的基本用法,以备后用!

     Web Sql Database,中文翻译作“本地数据库”,是随着HTML5规范加入的在浏览器端运行的轻量级数据库。例如购物网站的购物车,对于简单的键值对或简单对象进行存储,但是无法应对繁琐的关系数据进行处理。  

Web SQL Database 规范中定义的三个核心方法:  
1.openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象;  
2.transaction:这个方法允许我们根据情况控制事务提交或回滚;
3.executeSql:这个方法用于执行SQL 查询   4个参数   待执行的sql语句    传递进sql语句的参数。  

建立一个名称为 student 的数据库,它的版本为 1.0,描述信息为 Test DB,大小为 1M 字节。openDatabase 方法打开一个已经存在的数据库,如果数据库不存在则创建数据库,代码如下:

    <script type="text/javascript">
        var database=openDatabase(‘student‘,‘1.0‘,‘员工资料管理‘,1024*1024,function(){});
        if(!database){
            alert(‘创建/打开失败‘)
        }else{
            alert(‘创建/打开成功‘)
        }
    </script>
openDatabase方法用到五个参数:  
1)数据库名  
2)版本号  
3)描述  
4)数据库大小  
5) 创建回调函数  

创建表:

    <script type="text/javascript">
        var database=openDatabase(‘emp‘,‘1.0‘,‘员工资料管理‘,1024*1024,function(){});
         dataBase.transaction(function(fx){
            fx.executeSql(
                "create table if not exists stu(s_id REAL UNIQUE,s_name TEXT)",
                [],
                function(fx,result){alert(‘创建成功‘)}
                function(fx,error){alert(‘创建失败‘}
            )
        })
    </script>
>executeSql函数有四个参数,其意义分别是:   
1)表示查询的字符串,使用的SQL语言是SQLite 3.6.19。   
2)插入到查询中问号所在处的字符串数据。   
3)成功时执行的回调函数。返回两个参数:fx和执行的结果。   
4)一个失败时执行的回调函数。返回两个参数:fx和失败的错误信息。  

向表内新增内容:

    <script type="text/javascript">
        var database=openDatabase(‘emp‘,‘1.0‘,‘员工资料管理‘,1024*1024,function(){});
        database.transaction(function(fx){
            fx.executeSql("insert into emps(id,name) values(?,?)",
            [1,‘小鸣‘],
            function(){alert(‘执行成功‘)},
            function(){alert(‘失败‘)})
        })
    </script>
查询
    
    var database=openDatabase(‘emp‘,‘1.0‘,‘员工资料管理‘,1024*1024,function(){});
    database.transaction(function(fx){
        fx.executeSql("select * from emps",
        [],
        function(fx,result){
            alert(result.rows.length)
        },
        function(){alert(‘失败‘)})
    })

>result是查询到的结果集,其中最重要的属性—SQLResultSetRowList 类 型的 rows 是数据集的“行” 。 
rows 有两个属性:length、item 。
length代表总条数,用item(num),可访问 到具体的行

    <script type="text/javascript">
        var database=openDatabase(‘emp‘,‘1.0‘,‘员工资料管理‘,1024*1024,function(){});
        database.transaction(function(fx){
            fx.executeSql("select * from emps",
            [],
            function(fx,result){
                alert(result.rows.item(0).id)
            },
            function(){alert(‘失败‘)})
        })
    </script>


删除数据表:
  
    dataBase.transaction(function (fx) {            
        fx.executeSql(‘drop  table  stu‘);        
    });


删除数据库:  

    dataBase.transaction(function (fx) {            
        fx.executeSql(‘drop  database stu‘);        
    });

Web SQL Database 的基本用法

标签:

原文地址:http://www.cnblogs.com/mustard-zy/p/4716561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!