安卓学习之SQLite

本文主要总结了SQLite增删改查的语句和方法

SQL语句

name,phone,money为表的三个字段(windows可下载SQLite Expert软件,可以适应SQLite语句)

  • insert into person (name, phone, money) values ('张三', '159874611', 2000);
  • delete from person where name = '李四' and _id = 4;
  • update person set money = 6000 where name = '李四';
  • select name, phone from person where name = '张三';

java代码使用SQL语句:

    //创建OpenHelper对象。getContext()获取虚拟的上下文。
    MyOpenHelper oh = new MyOpenHelper(getContext(), "person.db", null, 1);
    //获得数据库对象,如果数据库不存在,先创建数据库,后获得,如果存在,则直接获得
     SQLiteDatabase db = oh.getWritableDatabase();

public void insert(){
db.execSQL("insert into person (name, salary, phone)values(?, ?, ?)", new Object[]{"小志", 14000, "13888"});
}

public void delete(){
    db.execSQL("delete from person where name = ?", new Object[]{"小志"});
}

public void update(){
    db.execSQL("update person set phone = ? where name = ?", new Object[]{186666, "小志的儿子"});
}
public void select(){
Cursor cursor = db.rawQuery("select name, salary from person", null);

while(cursor.moveToNext()){
    //通过列索引获取列的值
    String name = cursor.getString(cursor.getColumnIndex("name"));
    String salary = cursor.getString(1);
    System.out.println(name + ";" + salary);
}

使用api实现增删改查

  • 插入

    //以键值对的形式保存要存入数据库的数据
    ContentValues cv = new ContentValues();
    cv.put("name", "刘能");
    cv.put("phone", 1651646);
    cv.put("money", 3500);
    //返回值是改行的主键,如果出错返回-1
    long i = db.insert("person", null, cv);
    
  • 删除

    //返回值是删除的行数
    int i = db.delete("person", "_id = ? and name = ?", new String[]{"1", "张三"});
    
  • 修改

    ContentValues cv = new ContentValues();
    cv.put("money", 25000);
    int i = db.update("person", cv, "name = ?", new String[]{"赵四"});
    
  • 查询

    //arg1:要查询的字段
    //arg2:查询条件
    //arg3:填充查询条件的占位符
    public void selectApi(){
        Cursor cursor = db.query("person", null, null, null, null, null, null, null);
        while(cursor.moveToNext()){
            String name = cursor.getString(cursor.getColumnIndex("name"));
            String phone = cursor.getString(cursor.getColumnIndex("phone"));
            String salary = cursor.getString(cursor.getColumnIndex("salary"));
            System.out.println(name + ";" + phone + ";" + salary);
        }
    }

猜你喜欢

转载自blog.csdn.net/kai_zone/article/details/80258081