本文只记录如何操作SQLite,对原理先不做探讨
SQLiteDatabase的常用方法
openOrCreateDatabase(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 having,String orderBy) | 查询一条记录 |
update(String table,ContentValues values,String whereClause,String[] whereArgs) | 修改记录 |
execSQL(String sql) | 执行一条语句 |
close() | 关闭数据库 |
1、打开或者创建数据库
第一个参数是数据库创建的路径
第二个参数是一个游标工厂默认为null
2.创建表
例如创建一张教师表。属性列为:id(主键并且自动增加)、tname(教师姓名)、tage(教师年龄)
3.插入数据
插入数据有两种方法:
- SQLiteDatabase的insert(String table,String nullColumnHack,ContentValues values)方法,
参数1 表名称,
参数2 空列的默认值
参数3 ContentValues是一个封装了列名和列值的Map类型对象;
-
编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行
4.删除数据
删除数据有两种方法
- 调用SQLiteDatabase的delete(String table,String whereClause,String[] whereArgs)方法
参数1 表名称
参数2 删除条件
参数3 删除条件值数组
-
编写删除SQL语句,调用SQLiteDatabase的execSQL()方法来执行删除。
5.更新数据
更新数据有两种方法
-
调用SQLiteDatabase的update(String table,ContentValues values,String whereClause, String[] whereArgs)方法
参数1 表名称
参数2 跟行列ContentValues类型的键值对Key-Value
参数3 更新条件(where字句)
参数4 更新条件数组
-
编写更新的SQL语句,调用SQLiteDatabase的execSQL执行更新。
6.查询数据
在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。它提供了很多有关查询的方法,具体方法如下:
public Cursor query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);
- 参数table:表名称
- 参数columns:列名称数组
- 参数selection:条件字句,相当于where
- 参数selectionArgs:条件字句,参数数组
- 参数groupBy:分组列
- 参数having:分组条件
- 参数orderBy:排序列
- 参数limit:分页查询限制
同时需要注意Cursor是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等.
6.删除指定表
Tips:当我们完成了对数据库的操作后,记得调用SQLiteDatabase的close()方法释放数据库连接哈😆,否则容易出现SQLiteException😢。
Android 知识需要每天学习呀!2018继续努力哈!