SQLite介绍
http://www.sqlite.org 官方网站
小型关系数据库
SQLiteOpenHelper使用方法
getReadableDatabase()
getWritableDatabase()
onCreate(SQLiteDatabase db)
onOpen(SQLiteDatabase db)
onUpgrade(SQLiteDatabse db , int oldVersion , int newVersion)
Close();
// DatabaseHelper所为一个访问SQLite的助手类, 提供两个方面的功能
// 第一, getReadableDatabase() 和 getWritableDatabasr() 可以获得SQLiteDatabase对象
// 第二, 提供onCreate 和 onUpgrade 两个回调函数 , 允许我们在创建和升级数据库时, 进行操作
例 : public class DatabaseHelper extends SQLiteOpenHelper {
// 数据库版本号
Private static final int VERSION = 1;
// 必须的构造函数
Public DatabaseHelper (Context context , String name , CursorFactory factory , int version) {
Super(context , name , factory , version);
}
Public DatabaseHelper (Context context , String name , int version) {
Super(context , name , null , version);
}
Public DatabaseHelper (Context context , String name) {
Super(context , name , null , VERSION);
}
Public void onCreate(SQLiteDatabase db) {
System.out.println("create a database");
Db.execSQL("create table user(id int , name varchar(20))");
}
Public void onUpgrade(SQLiteDatabase db) {
System.out.println("update a database");
}
}
对SQLite的增 删 查 改
Activity操作数据库 例 :
1 . 声明控件对象(略)
2 . 获得控件对象(略)
3 . 绑定事件(略)
4 . 创建监听器对象 (调用DatabaseHelper)
// 创建一个数据库
Public void onClick(View v) {
// 当前的activity , 还有数据名
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this , "test_db");
SQLiteDatabase db = dbHelper.getReadableDatabase(); // 此时才会创建一个数据库
}
// 修改一个数据库
Public void onClick(View v) {
// 当前的activity , 还有数据名
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this , "test_db" , 2); // 版本号变了
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
// 插入操作
Public void onClick(View v) {
// 生成ContentValues对象
ContentValues values = new ContentValues();
// key是列名 , value 是值 , 值必须对应数据库列数据类型
Values.put("id" , 1);
Values.put("name" , "zhangsan" );
// 当前的activity , 还有数据名
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this , "test_db");
// 得到可写数据库
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 1.表名 2,不允许空列 3, 值
Db.insert("user", null , values);
}
// 更新操作
Public void onClick(View v) {
// 当前的activity , 还有数据名
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this , "test_db");
// 得到可写数据库
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 1.表名 2,不允许空列 3, 值
// 生成ContentValues对象
ContentValues values = new ContentValues();
// key是列名 , value 是值 , 值必须对应数据库列数据类型
Values.put("name" , "zhangsanfeng" );
// 1.表名 2. 值 , 3 , where子句 (不包括where) 4, 为占位符赋值
Db.update("user", values , "id=?" , new String[] {"1"});
}
// 查询数据库
Public void onClick(View v) {
// 当前的activity , 还有数据名
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this , "test_db"); // 版本号变了
SQLiteDatabase db = dbHelper.getReadableDatabase();
// 1, 表名 2 所要查询的列名 3 , 筛选器 4 , 筛选器值 5 .groupby 6 . having //7 orderby 创建游标对象读取数据
Cursor cursor = db.query("user" , "new String[] {"id" , "name"}" , "id=?")
While (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
// 删除操作
Public void onClick(View v) {
// 当前的activity , 还有数据名
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this , "test_db");
// 得到可写数据库
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 1.表名 2. 值 , 3 , where子句 (不包括where) 4, 为占位符赋值
Db.delete("user", values , "id=?" , new String[] {"1"});
}
使用adb访问SQLite (linux命令行调试) abd shell = > ls -i = > cd data = > 创建了数据库之后 = > 报名.数据库名 => 即可进入该SQLite
SQLite 语句 .schema // 查看所有表
Linux知识补习 : cd 目录 (进入目录) ls (查看当前目录)