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

2017-06-30 00:12马自辉
科技视界 2017年5期
关键词:数据库

马自辉

【摘 要】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);}

[责任编辑:田吉捷]

猜你喜欢
数据库
超星数据库录入证
本刊加入数据库的声明
两种新的非确定数据库上的Top-K查询
国外数据库高被引论文排行TOP10
国内主要期刊数据库