Sqlite資料庫初步的瞭解

來源:互聯網
上載者:User

標籤:

轉載與:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0714/1438.html    來自:泡在網上的日子。

和其他資料庫一樣,SQLite資料庫的一般操作包括:建立資料庫、開啟資料庫、建立表、向表中添加資料、從表中刪除資料、修改表中的資料、關閉資料庫、刪除指定表、刪除資料庫和查詢表中的某條資料。下面我們分別來學習這些基本操作。

 1.建立和開啟資料庫
 在Android 中建立和開啟一個資料庫都可以使用openOrCreateDatabase 方法來實現,因為它會自動去檢測是否存在這個資料庫,如果存在則開啟,不過不存在則建立一個資料庫;建立成功則返回一個 SQLiteDatabase對象,否則拋出異常FileNotFoundException。下面我們來建立一個名為"Examples_06_05.db"的資料庫,並返回一個SQLiteDatabase對象 mSQLiteDatabase。

1 mSQLiteDatabase = this.openOrCreateDatabase("Example_06_05.db", MODE_PRIVATE, null);

 3.向表中添加一條資料
可以使用insert 方法來添加資料,但是 insert 方法要求把資料都打包到 ContentValues 中, ContentValues 其實就是一個Map, key值是欄位名稱, Value值是欄位的值。通過 ContentValues 的 put 方法就可以把資料放到ContentValues中,然後插入到表中去。具體實現如下:

12345678 ContentValues  cv  =  new ContentValues();cv.put(TABLE_NUM, 1);cv.put(TABLE_DATA, "測試資料");mSQLiteDatabase.insert(TABLE_NAME, null, cv);                                                                                                                                                                                                                                                                              //這樣同樣可以使用execSQL方法來執行一條“插入”的SQL語句,代碼如下:String  INSERT_DATA = "INSERT INTO table1 (_id, num, data) values (1, 1, ‘通過SQL語句插入‘)" ;mSQLiteDatabase.execSQL(INSERT_DATA);

  4.從表中刪除資料
要刪除資料可以使用delete 方法,下面我們刪除欄位 "_id" 等於1的資料,具體代碼如下:

1234 mSQLiteDatabase.delete("Examples_06_05.db", " where_id="+0, null);通過 execSQL方法執行SQL語句刪除資料如下:String  DELETE_DATA = "DELETE FROM table1 WHERE _id=1";mSQLiteDatabase.execSQL(DELETE_DATA);

5.修改表中的資料
如果添加了資料後探索資料有誤,這時需要修改這個資料,可以使用updata方法來更新一條資料。下面我們來修改 "num" 值為0的資料,具體代碼如下:

1234 ContentValues cv = new ContentValues();cv.put(TABLE_NUM, 3);cv.put(TABLE_DATA, "修改後的資料");mSQLiteDatabase.update("table1" cv, "num " + "=" + Integer.toString(0), null);

6.關閉資料庫
關閉資料庫很重要,也是大家經常容易忘記的。關閉的方法很簡單,直接使用SQLiteDatabase 的 close 方法。具體代碼如下:

1 mSQLiteDatabase.close();

7.刪除指定表
這裡我們使用execSQL方法來實現,具體代碼如下:

1 mSQLiteDatabase.execSQL("DROP TABLE table1");


  8.刪除資料庫
要刪除一個資料庫,直接使用deleteDatabase 方法即可,具體代碼如下:

1 this.deleteDatabase("Examples_06_05.db");


9.查詢表中的某條資料
在Android中查詢資料是通過Cursor類來實現的,當我們使用SQLiteDatabase.query()方法時,會得到一個Cursor對象,Cursor指向的就是每一條資料。它提供了很多有關查詢的方法,具體方法如下:

 

方法 說明 
move 以當前的位置為參考,將Cursor移動到指定的位置,成功返回true, 失敗返回false
moveToPosition 將Cursor移動到指定的位置,成功返回true,失敗返回false
moveToNext  將Cursor向前移動一個位置,成功返回true,失敗返回false
moveToLast 將Cursor向後移動一個位置,成功返回true,失敗返回 false。
movetoFirst  將Cursor移動到第一行,成功返回true,失敗返回false
isBeforeFirst 返回Cursor是否指向第一項資料之前
isAfterLast 返回Cursor是否指向最後一項資料之後
isClosed  返回Cursor是否關閉
isFirst 返回Cursor是否指向第一項資料

 

isLast  返回Cursor是否指向最後一項資料
isNull 返回指定位置的值是否為null
getCount 返回總的資料項目數
getInt 返回當前行中指定的索引資料



下面我們就是用Cursor來查詢資料庫中的資料,具體代碼如下:

轉載與:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0714/1438.html    來自:泡在網上的日子。
123456789 Cursor cur = mSQLiteDatabase.rawQuery("SELECT * FROM table", null);if( cur != null ){   if( cur.moveToFirst() ){       do{                  int numColumn = cur.getColumnIndex("num");                  int num            = cur.getInt(numColumn);            }while( cur.moveToNext());      } }

Sqlite資料庫初步的瞭解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.