创建一个类继承SQLiteOpenHelper
重写里面的onCreate,onUpgrade两个方法和一个构造方法
package com.bw.myapplication;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
public class StudentHolper extends SQLiteOpenHelper {
//context上下文
//school创建的库名
//null
//1 数据库的版本号
public StudentHolper(@Nullable Context context) {
super(context, "school", null, 1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
//创建表
sqLiteDatabase.execSQL("create table sch(id integer primary key autoincrement,name varchar(32),age integer)");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
操作数据库有两种方法:
1,原生的操作方法2.系统提供的操作方法
添加
public void insert(View view) {
StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
//原生方法
writableDatabase.execSQL("insert into sch values(null,?,?)",new Object[]{"张三","19"});
//系统方法
ContentValues contentValues = new ContentValues();
contentValues.put("name","王五");
contentValues.put("age","50");
writableDatabase.insert("sch",null,contentValues);
}
删除
public void del(View view) {
StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
//原生方法
writableDatabase.execSQL("delete from sch where id=?",new Object[]{"1"});
//系统方法
writableDatabase.delete("sch","id=?",new String[]{"5"});
}
改写
public void update(View view) {
StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
//原生方法
writableDatabase.execSQL("update sch set name=? where id=?",new Object[]{"lisi","3"});
//系统方法
ContentValues contentValues = new ContentValues();
contentValues.put("name","小王五");
writableDatabase.update("sch",contentValues,"id=?",new String[]{"6"});
}
查找
public void selate(View view) {
StudentHolper studentHolper = new StudentHolper(this);//实例化数据对象
SQLiteDatabase writableDatabase= studentHolper.getWritableDatabase();//获取可写的数据库
//原生方法
Cursor cursor = writableDatabase.rawQuery("select *from sch ", null);
if (cursor!=null){
while (cursor.moveToNext()){
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.i("qqq", "id:"+id+"name: "+name+"age:"+age);
}
}
cursor.close();
}