Android SQLITE 簡單起步

1:定義表的結構和名字,我使用以下方法:

public interface Constatnts extends BaseColumns {
   public static final String TABLE_NAME = "test";
  
   public static final String TIME = "time";
   public static final String TITLE = "title";
}

在這裏,我繼承BaseColumns的目的,是直接定義"_ID"字段

 

2:定義SQLiteOpenHelper 的子類,來對應一個數據庫,重載必須的onCreate 和 onUpgrade。裏面通過execSQL調用適當的SQL 語句。

 

 

@Override

// 這個函數會在第一次執行數據庫操作的時候被調用到。


 public void onCreate(SQLiteDatabase db) {
  // TODO Auto-generated method stub 
  db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID
             + " INTEGER PRIMARY KEY AUTOINCREMENT, " + TIME
             + " INTEGER," + TITLE + " TEXT NOT NULL);");  //注意,最好聲明字段類型,以免不必要的麻煩。
 } 

 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXITS "+ TABLE_NAME);
        onCreate(db);
 }

 

3:使用該數據庫。

   mydatabase = new Databasehelp(this);

插入數據:

SQLiteDatabase db = mydatabase.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(TIME, System.currentTimeMillis());
        values.put(TITLE, string);
        db.insertOrThrow(TABLE_NAME, null, values);

 

 

查詢數據:

SQLiteDatabase db = mydatabase.getReadableDatabase();
        Cursor cursor = db.query(TABLE_NAME, { _ID, TIME, TITLE, }, null, null, null,
              null, null);
        startManagingCursor(cursor); // 讓activity來管理cursor的生命週期

while (cursor.moveToNext()) {
           // Could use getColumnIndexOrThrow() to get indexes
           long id = cursor.getLong(0);
           long time = cursor.getLong(1);
           String title = cursor.getString(2);

          ...........................................

}

 

4: 直接管理數據庫

通過adb shell進入:sqlite3 test.db,後面按照標準的sqlites 辦法做。

 

引用一個好總結:

使用數據庫:sqlite3 db_name

創建表: create table table_name(filed1Name filed1Property,filed2Name filed2Property);

顯示數據庫中的表:.table

顯示錶結構:.schema table_name

刪除表: .drop table table_name  // 我沒有找到這個命令,呵呵

退出:.exit

導入數據:將txt文件中的數據到導入到表中, data.txt中每一列用”|”分隔, |兩邊不要空格,文件末尾不要有空行,例如:1|rainkey|tencent

注意:在android 上面執行的時候將text_name.txt存放到databases所在目錄

.import text_name.txt table_name

插入記錄:insert into table_name values(‘key’,’value’);

查找記錄:select * from table_name;

從第三行開始查詢10條記錄:select * from table_name limit 3,10;

刪除記錄:delete from table_name where field1=value;

更新操作:update table_name set name=’rainkey’ where id=1;

另外,如果要重新刷新這個數據的庫的話,我現在的方法是通過adb uninstall整個程序。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章