栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 人文期刊 > 科技视界

浅谈SQLite数据库操作常用方法

浅谈SQLite数据库操作常用方法

马自辉

【摘 要】Android提供了创建和使用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。

【关键词】Andriod;SQLite;数据库

1 打开或者创建数据库

在Android中使用SQLiteDatabase的静态方法。openOrCreateDatabase(String path,SQLiteDatabae.Cursor Factory factory)打开或者创建一个数据库。它会自动去检测是否存在这个数据库,如果存在则打开,不存在则创建一个数据库;创建成功则返回一个SQLiteDatabase对象,否则抛出异常FileNotFoundException。

2 创建表

创建一张表的步骤很简单:编写创建表的SQL语句,调用SQLiteDatabase的execSQL()方法来执行SQL语句。下面的代码创建了一张用户表,属性列为:id(主键并且自动增加)、sname(学生姓名)、snumber(学号)。

private void createTable(SQLiteDatabase db){//创建表SQL语句String stu_table="create table usertable(_id integer primary key autoincrement,sname text,snumber text)";//执行SQL语句db.execSQL(stu_table);}

3 插入数据

插入数据有两种方法:

1)SQLiteDatabase的insert(Stringtable,StringnullColumnHack,Content

Values values)方法,

参数1 表名称,

参数2 空列的默认值

参数3 ContentValues类型的一个封装了列名称和列值的Map;

2)编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行。代码:

private void insert(SQLiteDatabase db){//实例化常量值

ContentValues cValue=new ContentValues();//添加用户cValue.put("sname","xiaoming");//添加密码

cValue.put("snumber","01005");//调用insert()方法插入数据db.insert("stu_table",null,cValue);}

4 删除数据

删除数据也有两种方法:

1)调用SQLiteDatabase的delete(Stringtable,StringwhereClause,String[]whereArgs)方法

参数1 表名称

参数2 删除条件

参数3 删除条件值数组

2)编写删除SQL语句,调用SQLiteDatabase的execSQL()方法来执行删除。

第一种方法的代码:

private void delete(SQLiteDatabase db){//删除条件String

whereClause="id=";//删除条件参数String[]whereArgs={String

valueOf(2)};//执行删除db.delete("stu_table",whereClause,whereArgs);}

第二种方法的代码:

private void delete(SQLiteDatabase db){//删除SQL语句

String sql="delete from stu_table where_id=6";//执行SQL语句db.execSQL(sql);}

5 修改数据

修改数据有两种方法:

1)调用SQLiteDatabase的update(Stringtable,ContentValuesvalues,String whereClause,String[]whereArgs)方法

参数1 表名称

参数2 跟行列ContentValues类型的键值对Key-Value

参数3 更新条件(where字句)

参数4 更新条件数组

2)编写更新的SQL语句,调用SQLiteDatabase的execSQL执行更新。

第一种方法的代码:

private void update(SQLiteDatabase db){//实例化内容值ContentValues values=new ContentValues();//在values中添加内容values.put("snumber","101003");//修改条件String whereClause="id=";//修改添加参数String[]whereArgs={String.valuesOf(1)};//修改db.update("usertable",values,whereClause,whereArgs);}

第二种方法的代码:

private void update(SQLiteDatabase db){//修改SQL语句String sql="update stu_table set snumber=654321 where id=1";//执行SQLdb.execSQL(sql);}

6 查询数据

在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。它提供了很多有关查询的方法,具体方法如下:

public Cursorquery(Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy,Stringlimit);

各个参数的意义说明:

参数table:表名称

参数columns:列名称数组

参数selection:条件字句,相当于where

参数selectionArgs:条件字句,参数数组

参数groupBy:分组列

参数having:分组条件

参数orderBy:排序列

参数limit:分页查询限制

参数Cursor:返回值,相当于结果集ResultSet

Cursor是一个游标接口,提供了遍歷查询结果的方法,如移动指针方法move(),获得列值方法getString()等。

7 删除指定表

编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行private void drop(SQLiteDatabase db){//删除表的SQL语句String sql="DROP TABLE stu_table";//执行SQL db.execSQL(sql);}

[责任编辑:田吉捷]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/278630.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号