创建一个类 SQLiteOpenhelper
//context 上下文对象
//name 数据库名
//factory 返回一个自定义的 Cursor 一般为null
// version
SQLiteOpenHelper
getReadableDatabase()
getWriteableDatabase()
返回一个可以对数据库进行读写操作的对象
CRUD
Create Retrieve Update Delete 增删查改
创建一个类继承SQLiteOpenhelper
ublic class MyDatabase extends SQLiteOpenHelper {
public MyDatabase( Context context) {
super(context, "User.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table UserInfo(id integer primary key autoincrement,author text,price double,pages integer,name text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql ="";
db.execSQL("drop table UserInfo");
}
}
获取数据库编辑对象
MyDatabase database = new MyDatabase(this);
SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
数据库升级,先删除再创建
public class MyDatabase extends SQLiteOpenHelper {
public MyDatabase(Context context) {
super(context, "User.db", null, 2);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table UserInfo(id integer primary key autoincrement,author text,price double,pages integer,name text)");
db.execSQL("create table info(id integer primary key autoincrement,name text,pwd text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists UserInfo");
onCreate(db);
}
}
添加多条数据
MyDatabase database = new MyDatabase(this);
SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name","the Da Vinci Code");
values.put("author","Dan Brown");
values.put("pages","454");
values.put("price",15.64);
sqLiteDatabase.insert("UserInfo","id",values);
values.clear();
//插入第二条数据
values.put("name","平方世界");
values.put("author","李敖");
values.put("pages","754");
values.put("price",56.64);
sqLiteDatabase.insert("UserInfo","id",values);
sqLiteDatabase.close();
修改一条数据
MyDatabase database = new MyDatabase(this);
SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "yifei");
values.put("pages", 300);
values.put("price", 32.1);
values.put("author", "郭敬明");
sqLiteDatabase.update("UserInfo", values, " id = 1", null);
sqLiteDatabase.close();
删除一条数据
MyDatabase database = new MyDatabase(this);
SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
sqLiteDatabase.delete("UserInfo","id = 2",null);
sqLiteDatabase.close();
查询数据
MyDatabase database = new MyDatabase(this);
SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
Cursor cursor = sqLiteDatabase.query("UserInfo", null, null, null, null, null, null);
if (cursor!=null){
while (cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("name"));
int pages =cursor.getInt(cursor.getColumnIndex("pages"));
String author = cursor.getString(cursor.getColumnIndex("author"));
float price = cursor.getFloat(cursor.getColumnIndex("price"));
Log.d("MainActivity12", "onCreate: "+name+"-->"+pages+"-->"+author+"-->"+price);
}
}
sqLiteDatabase.close();
查询指定列数
MyDatabase database = new MyDatabase(this);
SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
Cursor cursor1 = sqLiteDatabase.query("UserInfo",new String[]{"name","pages"},"id =?",new String[]{"1"},null,null,null);
if (cursor1!=null){
while (cursor1.moveToNext()){
String name = cursor1.getString(cursor1.getColumnIndex("name"));
int pages =cursor1.getInt(cursor1.getColumnIndex("pages"));
Log.d("MainActivity12", "onCreate: "+name+"-->"+pages);
}
}
sqLiteDatabase.close();