zoukankan      html  css  js  c++  java
  • 简单使用SQLite 的增删改查

    1.插入

      第一种方式

    INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 );
    INSERT INTO COMPANY VALUES (1, 'Paul', 32, 'California', 20000.00 ); (后面的值必须根据顺序来)

    第二种方式
    ContentValues contentValues = new ContentValues();
    contentValues.put(COLUMN_NAME_ID,id);
    contentValues.put(COLUMN_NAME_NAME,name);
    contentValues.put(COLUMN_NAME_AGE,age);
    contentValues.put(COLUMN_NAME_BIRTHDAY,birthday);
    db.insert(TABLE_NAME,null,contentValues);

    2.查询

      第一种方式

    SELECT column1, column2, columnN FROM table_name;

    在这里,column1, column2...是表的字段,他们的值即是您要获取的。如果您想获取所有可用的字段,那么可以使用下面的语法:

    SELECT * FROM table_name;

    第二种方式
    Cursor c = db.query(TABLE_NAME,null,COLUMN_NAME_NAME + " = ?",new String[]{name},null,null,null);
    Person person = new Person();
    person.setId(c.getInt(0));
    person.setName(c.getString(1));
    person.setAge(c.getString(2));
    person.setBirthday(c.getString(3));

    查询所有
    List<Person> array = new ArrayList<Person>();
    Cursor cursor = db.query(TABLE_NAME,null,null,null,null,null,null);
    while (cursor.moveToNext()){
    Person p = new Person();
    p.setId(cursor.getInt(0));
    p.setName(cursor.getString(1));
    p.setAge(cursor.getString(2));
    p.setBirthday(cursor.getString(3));
    array.add(p);
    }

    3.删除

    第一种方式
    DELETE FROM table_name WHERE [condition];
    删除某一个
    DELETE FROM COMPANY WHERE ID = 7
    删除全部
    DELETE FROM COMPANY;
    第二种方式
    db.delete(TABLE_NAME,COLUMN_NAME_NAME + " = ?",new String[]{name});

    4.更新

    第一种方式
    UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
    UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;
    如果您想修改 table表中的 任意一列的所有值,则不需要使用WHERE语句:
    UPDATE COMPANY SET ADDRESS = 'Texas', SALARY = 20000.00;
    第二种方式
    ContentValues contentValues = new ContentValues();
    contentValues.put(COLUMN_NAME_NAME,changeName);
    db.update(TABLE_NAME,contentValues,COLUMN_NAME_NAME + " = ?",new String[]{name});

    5.Like语句的使用

    SQLite 的 LIKE 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1。这里有两个通配符与 LIKE 运算符一起使用:

    • 百分号 (%)

    • 下划线 (_)

    百分号(%)代表零个、一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。这些符号可以被组合使用。

    WHERE COLUMN LIKE '200%' 查找以 200 开头的任意值
    WHERE COLUMN LIKE '%200%' 查找任意位置包含 200 的任意值
    WHERE COLUMN LIKE '_00%' 查找第二位和第三位为 00 的任意值
    WHERE COLUMN LIKE '2_%_%' 查找以 2 开头,且长度至少为 3 个字符的任意值
    WHERE COLUMN LIKE '%2' 查找以 2 结尾的任意值
    WHERE COLUMN LIKE '_2%3' 查找第二位为 2,且以 3 结尾的任意值
    WHERE COLUMN LIKE '2___3' 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值
  • 相关阅读:
    BZOJ 1088 模拟(扫雷经验…)
    BZOJ 1529
    BZOJ 3224
    BZOJ 1192
    BZOJ 1012
    博客搬家说明
    BZOJ 2423 DP
    BZOJ 1789&1830 推式子 乱搞
    BZOJ 1588
    拆点:虫洞
  • 原文地址:https://www.cnblogs.com/android-host/p/5301256.html
Copyright © 2011-2022 走看看