SQLite数据类型
NULL空值、INTEGER整型值、REAL浮点值、TEXT字符串、BLOB二进制对象
SQLiteDatabase创建,删除,执行SQL命令
1.创建数据库
SQLiteDatabase db = openOrCreateDatabase("user.db",MODE_PRIVATE,null);
- 执行SQL语句创建表格
db.execSQL(String sql);
db.execSQL("create table if not exists stutb(_id integer primary key autoincrement,name text not null,sex not null,age integer not null)");
- 表中插入数据
db.insert(table,nullColumnHack,values);
db.insert("stutb",null,values);
- 更新指定表中的特定数据
db.update(table,values,whereClause,String[] whereArgs);
db.update("stutb",values,"_id>?",new String[]{"3"});//id>3的人性别改为女
- 删除指定表中的特定数据
db.delete(table,whereClause,String[] whereArgs);
db.delete("stutb","name like ?",new String[]{"%三%"});//删除名字带有三字的人
6.查询
db.query(table,String[] columns,whereClause,whereArgs,grounpBy,having,orderBy);
Cursor c = db.query("stutb",null,"_id>?",new String[]{"0"},null,null,"name");
7.查询
db.rawQuery(sql,selectionArgs)
Cursor c = db.rawQuery("select * from stutb",null);
Cursor移动查询结果的记录指针
- move(int offset);
指针向上或向下移动指定的行数,正数向下移动,负数向上移动 - boolean moveToFirst();
将指针移动到第一行,移动成功返回true - boolean moveToLast();
将指针移动到最后一行,移动成功返回true - boolean moveToNext();
将指针移动到下一行,移动成功返回true - boolean moveToPosition(int position);
将指针移动到指定的行,移动成功返回true - boolean moveToPrevious();
将指针移动到上一行,移动成功返回true
指针移动之后,调用Cursor的getXxx()方法获取该列的数据。
ContentValues类
ContentValues values = new ContentValues();
values.put("name","张三");
SQLiteOpenHelper
数据库的管理和工具类,用于创建和版本更新
一个类继承它,然后重写onCreate()和onUpgrade()方法
onCreate() 创建数据库时调用
onUpgrade() 版本更新时调用
getReadableDatabase() 创建或打开一个只读数据库
getWritableDatabase() 创建或打开一个读写数据库