Android中SQLite简单应用

Android系统内置了丰富的API来供开发人员操作SQLite,可以轻松的完成对数据的存取:

@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //打开或创建test.db数据库
    SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
    db.execSQL("DROP TABLE IF EXISTS person");
    //创建person表
    db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");
    Person person = new Person();
    person.name = "john";
    person.age = 30;
    //插入数据
    db.execSQL("INSERT INTO person VALUES (NULL, ?, ?)", new Object[]{person.name, person.age});

    person.name = "david";
    person.age = 33;
    //ContentValues以键值对的形式存放数据
    ContentValues cv = new ContentValues();
    cv.put("name", person.name);
    cv.put("age", person.age);
    //插入ContentValues中的数据
    db.insert("person", null, cv);

    cv = new ContentValues();
    cv.put("age", 35);
    //更新数据
    db.update("person", cv, "name = ?", new String[]{"john"});

    Cursor c = db.rawQuery("SELECT * FROM person WHERE age >= ?", new String[]{"33"});
    while (c.moveToNext()) {
      int _id = c.getInt(c.getColumnIndex("_id"));
      String name = c.getString(c.getColumnIndex("name"));
      int age = c.getInt(c.getColumnIndex("age"));
      Log.i("db", "_id=>" + _id + ", name=>" + name + ", age=>" + age);
    }
    c.close();

    //删除数据
    db.delete("person", "age < ?", new String[]{"35"});

    //关闭当前数据库
    db.close();

    //删除test.db数据库
//		deleteDatabase("test.db");
  }

 

在执行完上面的代码后,系统就会在/data/data/[PACKAGE_NAME]/databases目录下生成一个“test.db”的数据库文件。
上面的代码中基本上囊括了大部分的数据库操作;

对于添加、更新和删除来说,我们都可以使用:

db.executeSQL(String sql);
db.executeSQL(String sql, Object[] bindArgs);//sql语句中使用占位符,然后第二个参数是实际的参数集

参考(摘选)自:http://blog.csdn.net/liuhe688/article/details/6715983/