SQLite是什么,为什么要使用SQLite?
1.SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,并且占用资源非常的低
2.当我们需要存储一些比较复杂的数据的时候,SharedPreferences存储并不能够满足我们的要求,这时候我们就需要一种更加便于管理的存储方式,SQLite便能够帮助我们更加方便的存储和管理数据
创建数据库和数据表
使用SQLite创建数据库和表,首先要创建一个类继承SQLiteOpenHelper,并实现它的方法
private Context context;
private static final String TABLE_PRODUOT = "create table Student(" +
"id integer primary key autoincrement," +
"name text," +
"age integer)" ;
public SQLTest (Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super (context, name, factory, version);
this .context = context;
}
@Override
public void onCreate (SQLiteDatabase db) {
db.execSQL(TABLE_PRODUOT);
}
@Override
public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) {
}
添加数据
ContentValues values = new ContentValues()
values.put ("name" ,nameET.getText ().toString ())
values.put ("age" ,Integer.parseInt (ageET.getText ().toString ().intern ()))
db.insert ("Student" ,null,values)
删除数据
db.update ("Student" ,values ,"name = ?" ,new String[]{nameET.getText().toString()});
查询数据
Cursor cursor = db.query("Student" ,null ,null ,null ,null ,null ,null );
读取数据将其打印出来
if (cursor.moveToFirst ()) {
do {
int id = cursor.getInt (cursor.getColumnIndex ("id" ))
String name = cursor.getString (cursor.getColumnIndex ("name" ))
int age = cursor.getInt (cursor.getColumnIndex ("age" ))
} while (cursor.moveToNext ())
}
cursor.close ()