SQLite
简单的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();
其后操作同上