简单使用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 结尾的任意值 |