Android学习之路-SQLite

Android学习之路-SQLite_第1张图片
sqlite
本文只记录如何操作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、打开或者创建数据库


Android学习之路-SQLite_第2张图片
创建数据库

第一个参数是数据库创建的路径
第二个参数是一个游标工厂默认为null

2.创建表

例如创建一张教师表。属性列为:id(主键并且自动增加)、tname(教师姓名)、tage(教师年龄)

Android学习之路-SQLite_第3张图片
教师表

3.插入数据

插入数据有两种方法:
  1. SQLiteDatabase的insert(String table,String nullColumnHack,ContentValues values)方法,
    参数1 表名称,
    参数2 空列的默认值
    参数3 ContentValues是一个封装了列名和列值的Map类型对象;
Android学习之路-SQLite_第4张图片
方法一
  1. 编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行


    方法二

4.删除数据

删除数据有两种方法
  1. 调用SQLiteDatabase的delete(String table,String whereClause,String[] whereArgs)方法
    参数1 表名称
    参数2 删除条件
    参数3 删除条件值数组
Android学习之路-SQLite_第5张图片
方法一
  1. 编写删除SQL语句,调用SQLiteDatabase的execSQL()方法来执行删除。


    方法二

5.更新数据

更新数据有两种方法
  1. 调用SQLiteDatabase的update(String table,ContentValues values,String whereClause, String[] whereArgs)方法
    参数1 表名称
    参数2 跟行列ContentValues类型的键值对Key-Value
    参数3 更新条件(where字句)
    参数4 更新条件数组


    Android学习之路-SQLite_第6张图片
    方法一
  2. 编写更新的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继续努力哈!

你可能感兴趣的:(Android学习之路-SQLite)