数据存取之SQLite浅析.doc

上传人:cn****1 文档编号:550967637 上传时间:2023-04-03 格式:DOC 页数:16 大小:261.51KB
返回 下载 相关 举报
数据存取之SQLite浅析.doc_第1页
第1页 / 共16页
数据存取之SQLite浅析.doc_第2页
第2页 / 共16页
数据存取之SQLite浅析.doc_第3页
第3页 / 共16页
数据存取之SQLite浅析.doc_第4页
第4页 / 共16页
数据存取之SQLite浅析.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据存取之SQLite浅析.doc》由会员分享,可在线阅读,更多相关《数据存取之SQLite浅析.doc(16页珍藏版)》请在金锄头文库上搜索。

1、一.SQLite的介绍1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C+、.Net等,还有ODBC接口,同样比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。2.SQLite的特点:轻量级SQLite和C/S模式的数据库软件不同,它是进程内的

2、数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite一般只需要带上它的一个动态 库,就可以享受它的全部功能。而且那个动态库的尺寸也挺小,以版本3.6.11为例,Windows下487KB、Linux下347KB。不需要安装SQLite的核心引擎本身不依赖第三方的软件,使用它也不需要安装。有点类似那种绿色软件。单一文件 数据库中所有的信息(比如表、视图等)都包含在一个文件内。这个文件可以自由复制到其它目录或其它机器上。跨平台/可移植性除了主流操作系统 windows,linux之后,SQLite还支持其它一些不常用的操作系统。弱类型的字段同一列中的数据可以是不同类型开源这个相信大家都懂

3、的! 3.SQLite数据类型一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种常用的数据类型:NULL: 这个值为空值VARCHAR(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000。CHAR(n):长度固定为n的字串,n不能超过 254。INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.TEXT: 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).

4、BLOB: 值是BLOB数据块,以输入的数据格式进行存储。如何输入就如何存储,不改 变格式。DATA :包含了 年份、月份、日期。TIME: 包含了 小时、分钟、秒。相信学过数据库的童鞋对这些数据类型都不陌生的!二.SQLiteDatabase的介绍Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法。 SQLiteDatabase的常用方法 方法名称方法描述ope

5、nOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory)打开或创建数据库insert(String table,String nullColumnHack,ContentValues values)添加一条记录delete(String table,String whereClause,String whereArgs)删除一条记录query(String table,String columns,String selection,String selectionArgs,String groupBy,String

6、having,String orderBy)查询一条记录update(String table,ContentValues values,String whereClause,String whereArgs)修改记录execSQL(String sql)执行一条SQL语句close()关闭数据库1、打开或者创建数据库在Android 中以使用SQLiteDatabase的静态方法openOrCreateDatabase(String path,SQLiteDatabae.CursorFactory factory)打开或者创建一个数据库。它会自动去检测是否存在这个数据库,如果存在则打开,不存

7、在则创建一个数据库;创建成功则返回一个SQLiteDatabase对象,否则抛出异常FileNotFoundException。下面是创建名为“stu.db”数据库的代码:1 db=SQLiteDatabase.openOrCreateDatabase(/data/data/com.lingdududu.db/databases/stu.db,null); 2、创建表创建一张表很简单。首先,编写创建表的SQL语句,然后,调用SQLiteDatabase的execSQL()方法来执行SQL语句便可以创建一张表了。下面的代码创建了一张用户表,属性列为:_id(主键并且自动增加)、sname(学生姓

8、名)、snumber(学号)2 private void createTable(SQLiteDatabase db) 3 4 /创建表SQL语句 5 String stu_table=create table usertable(_id integer primary key autoincrement,sname text,snumber text); 6 7 /执行SQL语句 8 db.execSQL(stu_table); 9 3、插入数据插入数据有两种方法:SQLiteDatabase的insert(String table,String nullColumnHack,Content

9、Values values)方法,参数一是表名称,参数二是空列的默认值,参数三是ContentValues类型的一个封装了列名称和列值的Map;编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行第一种方法的代码:10 private void insert(SQLiteDatabase db) 11 12 /实例化常量值 13 ContentValues cValue = new ContentValues(); 14 15 /添加用户名 16 cValue.put(sname,xiaoming); 17 18 /添加密码 19 cValue.put(

10、snumber,01005); 20 21 /调用insert()方法插入数据 22 db.insert(stu_table,null,cValue); 23 第二种方法的代码:24 private void insert(SQLiteDatabase db) 25 26 /插入数据SQL语句 27 String stu_sql=insert into stu_table(sname,snumber) values(xiaoming,01005); 28 29 /执行SQL语句 30 db.execSQL(sql); 31 4、删除数据删除数据也有两种方法:调用SQLiteDatabase的d

11、elete(String table,String whereClause,String whereArgs)方法,参数一是表名称,参数二是删除条件,参数三是删除条件值数组;编写删除SQL语句,调用SQLiteDatabase的execSQL()方法来执行删除。第一种方法的代码:32 private void delete(SQLiteDatabase db) 33 34 /删除条件 35 String whereClause = _id=?; 36 37 /删除条件参数 38 String whereArgs = String.valueOf(2); 39 40 /执行删除 41 db.de

12、lete(stu_table,whereClause,whereArgs); 42 第二种方法的代码:43 private void delete(SQLiteDatabase db) 44 45 /删除SQL语句 46 String sql = delete from stu_table where _id = 6; 47 48 /执行SQL语句 49 db.execSQL(sql); 50 5、修改数据修改数据有两种方法:调用SQLiteDatabase的update(String table,ContentValues values,String whereClause, String

13、whereArgs)方法。参数是表名称,参数是更行列ContentValues类型的键值对(Map),参数是更新条件(where字句),参数是更新条件数组。编写更新的SQL语句,调用SQLiteDatabase的execSQL执行更新。第一种方法的代码:51 private void update(SQLiteDatabase db) 52 53 /实例化内容值 54 ContentValues values = new ContentValues(); 55 56 /在values中添加内容 57 values.put(snumber,101003); 58 59 /修改条件 60 Stri

14、ng whereClause = id=?; 61 62 /修改添加参数 63 String whereArgs=String.valuesOf(1); 64 65 /修改 66 db.update(usertable,values,whereClause,whereArgs); 67 第二种方法的代码:68 private void update(SQLiteDatabase db) 69 70 /修改SQL语句 71 String sql = update stu_table set snumber = 654321 where id = 1; 72 73 /执行SQL 74 db.execSQL(sql); 75 6、查询数据在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号