Android SQLite数据库的使用小结
2017-02-17 19:45
393 查看
查询语句:
select语句:
WHERE 子句用于规定选择的标准。
下面的运算符可在 WHERE 子句中使用:
注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
这是错误的:
SELECT * FROM Persons WHERE
[/code]
这是错误的:
SELECT * FROM Persons WHERE
[/code]
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
[/code]
query的使用
public Cursor query(String table, String[] columns, String selection,
String[] selectionArgs, String groupBy, String having,
String orderBy)
如:
则对应query是:
query("Persons", null, "FirstName=? and LastName=?", new String(){"Thomas", "William"}, null, null, null);
插入, 更新,删除,可以参考query的。
使用SQL函数:
如:
现在,我们希望查找 "OrderPrice" 列的最大值。
我们使用如下 SQL 语句:
结果集类似这样:
在android中可以这样写:
String[] columns = new String[] {"_id", "max(date_added) as _max"};
query(context, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
cols, MediaStore.Audio.Media.IS_MUSIC +" = \"1\" ", null, null)
http://www.w3school.com.cn/sql/sql_and_or.aspSQL数据库学习手册
select语句:
WHERE 子句用于规定选择的标准。
WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。语法
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
下面的运算符可在 WHERE 子句中使用:
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
使用 WHERE 子句
如果只希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句:SELECT * FROM Persons [code]WHERE City='Beijing'
"Persons" 表
LastName | FirstName | Address | City | Year |
---|---|---|---|---|
Adams | John | Oxford Street | London | 1970 |
Bush | George | Fifth Avenue | New York | 1975 |
Carter | Thomas | Changan Street | Beijing | 1980 |
Gates | Bill | Xuanwumen 10 | Beijing | 1985 |
结果:
LastName | FirstName | Address | City | Year |
---|---|---|---|---|
Carter | Thomas | Changan Street | Beijing | 1980 |
Gates | Bill | Xuanwumen 10 | Beijing | 1985 |
引号的使用
请注意,我们在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
文本值:
这是正确的: SELECT * FROM Persons WHERE [code]FirstName='Bush'
这是错误的:
SELECT * FROM Persons WHERE
FirstName=Bush
[/code]
数值:
这是正确的: SELECT * FROM Persons WHERE [code]Year>1965
这是错误的:
SELECT * FROM Persons WHERE
Year>'1965'
[/code]
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。
AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
原始的表 (用在例子中的):
LastName | FirstName | Address | City |
---|---|---|---|
Adams | John | Oxford Street | London |
Bush | George | Fifth Avenue | New York |
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
AND 运算符实例
使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:SELECT * FROM Persons WHERE FirstName='Thomas' [code]ANDLastName='Carter'[/code]
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
OR 运算符实例
使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:SELECT * FROM Persons WHERE firstname='Thomas' [code]ORlastname='Carter'[/code]
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
结合 AND 和 OR 运算符
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):SELECT * FROM Persons WHERE [code](FirstName='Thomas'
ORFirstName='William'
)
ANDLastName='Carter'
[/code]
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
public Cursor query(String table, String[] columns, String selection,
String[] selectionArgs, String groupBy, String having,
String orderBy)
如:
SELECT * FROM Persons WHERE [code](FirstName='Thomas'
ORFirstName='William'
)
则对应query是:
query("Persons", null, "FirstName=? and LastName=?", new String(){"Thomas", "William"}, null, null, null);
插入, 更新,删除,可以参考query的。
使用SQL函数:
如:
MAX() 函数
MAX 函数返回一列中的最大值。NULL 值不包括在计算中。SQL MAX() 语法
SELECT MAX(column_name) FROM table_name
SQL MAX() 实例
我们拥有下面这个 "Orders" 表:O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/12/29 | 1000 | Bush |
2 | 2008/11/23 | 1600 | Carter |
3 | 2008/10/05 | 700 | Bush |
4 | 2008/09/28 | 300 | Bush |
5 | 2008/08/06 | 2000 | Adams |
6 | 2008/07/21 | 100 | Carter |
我们使用如下 SQL 语句:
SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders
结果集类似这样:
LargestOrderPrice |
---|
2000 |
String[] columns = new String[] {"_id", "max(date_added) as _max"};
query(context, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
cols, MediaStore.Audio.Media.IS_MUSIC +" = \"1\" ", null, null)
http://www.w3school.com.cn/sql/sql_and_or.aspSQL数据库学习手册
相关文章推荐
- Android数据库(SQLiteDatabase)使用小结
- Android数据库(SQLiteDatabase)使用小结
- Android数据库(SQLiteDatabase)使用小结 .
- Android 数据库SQLite使用小结
- Android 开发中使用 SQLite 数据库
- Android 使用数据库 SQlite
- Android 开发中使用 SQLite 数据库
- Android SQLite数据库之二,使用sqlite3工具
- android:SQLite3命令行使用查询android的telephone数据库
- Android SQLite数据库使用 学习与代码实践
- Android中如何使用命令行查看内嵌数据库SQLite3
- Android 开发中使用 SQLite 数据库
- Android 开发中使用 SQLite 数据库
- Android数据库SQLite的使用详解(SQLiteOpenHelper,SQLiteDataBase)【看后面简约进阶版】access中数据库拷贝到本地
- Android如何使用命令行查看数据库SQLite3
- 【转】Android使用SQLiteOpenHelper对数据库进行版本管理【学习记录】
- android 测试 --使用sqlite3查看手机数据库系统
- Android中如何使用命令行查看内嵌数据库SQLite3
- 【android】Sqlite中使用SQL与其他数据库的区别
- sqlite的简单使用,Android中数据库的简单使用