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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。