創建數據庫
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
/**
* 通過getReadableDatabase()和getWritableDatabase()可以獲得數據庫對象。
* 提供onCreate()-創建數據庫時,onUpgrade()-升級數據庫時,兩個回調函數。
*/
public class DatabaseHelper extends SQLiteOpenHelper {
// 按要求必須要有構造函數
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
// 當第一次得到SQLiteDatabase對象時,調用該方法
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table MSG(id int,body varchar(100))";
db.execSQL(sql);
System.out.println("創建了一個數據庫!");
}
// 當更新數據庫時執行該方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("更新了數據庫!");
// 還可以寫其他的操作
}
}
增加一條記錄
生成ContentValues對象,key:列名,value:想插入的值
ContentValues values = new ContentValues();
values.put("id", 1);
values.put("body", "hello");
DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);
//得到可寫的SQLiteDatabase對象
SQLiteDatabase db = dbhelper.getWritableDatabase();
//調用insert方法,將數據插入數據庫
//參數1:表名
//參數2:如果你想插入空值,那麼你必須指定它的所在的列
db.insert("MSG", null, values);
System.out.println("插入了:1, hello");
修改一條記錄:
ContentValues values = new ContentValues();
values.put("body", "my dear!");
DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);
//得到可寫的SQLiteDatabase對象
SQLiteDatabase db = dbhelper.getWritableDatabase();
//調用insert方法,將數據插入數據庫
//參數3:where 子句 "?"是佔位符號,對應後面的"1",這和web開發時的語法是一樣的
db.update("MSG", values, "id=?", new String[]{"1"});
System.out.println("更新了:hello-->my dear!");
刪除一條記錄
DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);
//得到可寫的SQLiteDatabase對象
SQLiteDatabase db = dbhelper.getWritableDatabase();
//調用delete方法,刪除數據
db.delete("MSG", "id=?", new String[]{"1"});
System.out.println("刪除了:id=1");
查詢記錄:
DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);
//得到可讀的SQLiteDatabase對象
SQLiteDatabase db = dbhelper.getReadableDatabase();
//參數1:表名
//參數2:要想顯示的列
//參數3:where子句
//參數4:where子句對應的條件值
//參數5:分組方式
//參數6:having條件
//參數7:排序方式
Cursor cursor = db.query("MSG", new String[]{"id","body"}, "id=?", new String[]{"1"}, null, null, null);
System.out.println("查到的數據爲:");
while(cursor.moveToNext()){
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("body"));
System.out.println("-->"+id+"::::::::::"+name);
}