简单的SQLite创建、插入数据、更新数据
//创建一个数据库
SQLiteDatabase db = openOrCreateDatabase("user.db", MODE_PRIVATE, null);
//执行原生sql语句
db.execSQL("create table if not exists usertb(_id integer primary key autoincrement ,name text not null,age text,sex text)");
//插入信息的两种方式
db.execSQL("insert into usertb(name,age) values ('Lnn','17')");
ContentValues values = new ContentValues();
values.put("name", "Tim");
values.put("age", "18");
values.put("sex", "women");
db.insert("usertb", null, values);
values.clear();
values.put("name", "Nancy");
values.put("age", "18");
values.put("sex", "women");
db.insert("usertb", null, values);
values.clear();//清空values的值
values.put("sex", "man");
db.update("usertb", values, "_id> ?", new String[]{"1"});//做更新操作,目标为id>1
db.delete("usertb", "name like ?", new String[]{"%Nan%"});//删除操作,删除名字带有Nan的
Cursor c = db.rawQuery("select * from usertb ", null);//初始游标位置为-1
if (c != null) {
while (c.moveToNext()) {//游标第一次移动后位置为0,对应的id为1
int id = c.getInt(c.getColumnIndex("_id"));
String name = c.getString(c.getColumnIndex("name"));
String sex = c.getString(c.getColumnIndex("sex"));
textView.setText(textView.getText() + "count=" + c.getCount() + ",id=" + id + ",name=" + name + ",sex=" + sex);
}
c.close();
}
创建数据库的第二种方法:
写一个类继承自SQLiteOpenHelper,这个好处是可以更新数据库操作
public class DB extends SQLiteOpenHelper {
public DB(Context context, String name) {
super(context, name, null, 1);
}
@Override
//首次创建数据库的时候调用,一般写建立库和表的操作
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table if not exists usertb(_id integer primary key autoincrement ,name text not null,age text,sex text)");
}
@Override
//当数据库版本发生变化时候会执行
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
在页面实例化
DB dbhelp = new DB(MainActivity.this, "user.db");
SQLiteDatabase db = dbhelp.getWritableDatabase();
其后操作同上