private MyDatabaseHelper dbHelper;
dbHelper=new MyDatabaseHelper(MainActivity.this,"usersDB",null,1);
SQLiteDatabase db=dbHelper.getWritableDatabase();
增
db.execSQL("insert into userINFO values(?,?,?)", new Object[]{String name,String address,String hobby});
删
db.execSQL("delete from userINFO where name=?",new String[]{String name});
改
db.execSQL("update userINFO set address=?,hobby=? where name=?", new Object[]{String newAddress, String newHobby, String name});
查(指定条件)
Cursor cursor=db.rawQuery("select * from userINFO where name=?", new String[]{name});
if(cursor!=null && cursor.getCount()>0){
//查询到结果
while(cursor.moveToNext()){
String hobby=cursor.getString(2);
}
}
else{
//未查询到结果
}
查(所有)
Cursor cursor=db.query("userINFO",null,null,null,null,null,null);
if(cursor!=null && cursor.getCount()>0){
//查询到结果
while(cursor.moveToNext()){
String hobby=cursor.getString(2);
}
}
else{
//未查询到结果
}
其中,MyDatabaseHelper类代码如下
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class MyDatabaseHelper extends SQLiteOpenHelper {
//用户表,包含多个字段,name为主键
public static final String CREATE_userINFO = "create table userINFO(" +
"name text primary key," +
"address text,"+
"hobby text)";
private Context mContext;
//构造方法:
// 第一个参数Context上下文,
// 第二个参数数据库名,
// 第三个参数cursor允许我们在查询数据的时候返回一个自定义的光标位置,一般传入的都是null,
// 第四个参数表示目前库的版本号(用于对库进行升级)
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory , int version){
super(context,name ,factory,version);
mContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
//调用SQLiteDatabase中的execSQL()执行建表语句。
db.execSQL(CREATE_userINFO);
//创建成功
Toast.makeText(mContext, "创建成功", Toast.LENGTH_SHORT).show();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//更新表
db.execSQL("drop table if exists userINFO");
onCreate(db);
}
}