Android:SQLite的使用(一)

今天講的是關於SQLite的使用:
包括:
1.創建數據庫;
2.創建表;
3.插入數據;
4.修改數據;
5.刪除數據;
6.查詢數據;

直接附上代碼(註釋附在代碼裏):

MainActivity.java:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //創建數據庫stu.db;
        SQLiteDatabase db = openOrCreateDatabase("stu.db",MODE_PRIVATE,null);

        //創建表;
        db.execSQL("create table if not exists stutb(_id integer primary key autoincrement ,name text not null,sex text not null,age integer not null)");

        //創建ContentValues對象,該對象是鍵值對存儲,Key爲表的字段,Values爲值;
        ContentValues values = new ContentValues();

        //類似HashMap,鍵值對存儲,使用put插入;
        values.put("name","張三");
        values.put("sex","男");
        values.put("age",15);

        //向表中插入數據,返回值類型是long插入的索引值,第一個參數是表的名字,
        // 第二個我設爲null,第三個就是ContentValues的對象;
        long rowId = db.insert("stutb",null,values);
        Log.i("info","rowId = "+rowId);

        //清空ContentValues對象中的值,爲下次使用做準備;
        values.clear();

        //以下插入多條數據;
        values.put("name","李四");
        values.put("sex","男");
        values.put("age",19);
        db.insert("stutb",null,values);
        values.clear();

        values.put("name","王五");
        values.put("sex","男");
        values.put("age",17);
        db.insert("stutb",null,values);
        values.clear();

        values.put("name","趙六");
        values.put("sex","男");
        values.put("age",29);
        db.insert("stutb",null,values);
        values.clear();

        values.put("name","林琳七");
        values.put("sex","女");
        values.put("age",19);
        db.insert("stutb",null,values);
        values.clear();

        //修改,將所有id小於3的性別改成“女”;
        values.put("sex","女");
        db.update("stutb",values,"_id<?",new String[]{"3"});

        //刪除;將名字包含“王”的行刪去,其中%爲佔位符;
        db.delete("stutb","name like ?",new String[]{"%王%"});

        //查詢,返回值是Cursor的對象,即一個遊標;
        //第一個參數是表名字,第二個我設置爲空,第三個和第四個查詢條件,最後一個是按"_id"字段排序;
        Cursor cursor = db.query("stutb",null,"_id>?",new String[]{"0"},null,null,"_id");

        if (cursor!=null){
            //獲取cursor的索引值,即所有的字段;
            String[] columnNames = cursor.getColumnNames();
            while (cursor.moveToNext()){
                //遍歷獲取到表的每個字段的值
                for(String columnName:columnNames){
                    Log.i("info",cursor.getString(cursor.getColumnIndex(columnName)));
                }
            }
            //關閉遊標;
            cursor.close();
        }
        //關閉數據庫;
        db.close();
    }

以下是源碼(百度網盤,Android studio編寫):

http://pan.baidu.com/s/1pJ7fc51

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