Android 之 SQLite数据库 查询数据库

本文介绍如何使用SQLite进行数据查询,涵盖rawQuery和query方法的应用。详细解释了如何通过构造查询语句来实现数据筛选、排序及分页等功能,并展示了游标的使用方法。
[size=small][color=olive][b]查询数据库:
两种方式--
第一种方式:类似INSERT UPDATE DELETE,有两种方法使用select 从SQLite数据库检索数据。
使用rawQuery()直接调用select 语句,使用query() 方法构建一个查询。

小贴士:
* onCreate(); 该方法在数据库第一次创建的时候调用,只调用一次;
* onUpgrade(); 该方法在数据库版本更新的时候调用;
* T-SQL: 国际标准机制
DDL:数据定义语言:create drop alter;
DCL: 数据控制语言:grant revoke;
DML: 数据管理语言:insert delete update select ;
* select 列的列表 from 表的列表 where 条件语句 group by 分组属性 having 分组条件 order by 排序列 asc|desc limit m, n;
* 游标:游标的实质使一种能从包括多条数据记录的结果集种每次提取一条记录的机制;


游标的使用,Cursor的方法:
* close(); 关闭游标 ,释放资源;
* copyStringToBuffer(int columnIndex,CharArrayBuffer buffer); 在缓冲区中检索请求的列的文本,将其存储;
* getColumnCount(); 返回所有列的行数;
* getColumnIndex(String columnName); 返回指定的列,如果不存在那么返回-1;
* getColumnIndexOrThrow(String columnName);从0开始返回指定列的名称,如果不存在将抛出异常;
* getColumnName(int columnIndex); 从给定的索引返回列名;
* getColumnNames(); 返回一个字符串数组的列名;
* moveToFirst(); 将游标移动到第一条;
* moveToLast(); 将游标移动到最后一条;
* move(int offset); 将游标移动到指定ID;
* moveToNext(); 将游标移动到下一条;
* moveToPrevious(); 将游标移动到上一条;
* getCount(); 得到游标总记录条数;
* isFirst(); 判断当前游标是否为第一条数据;





案例:创建一个数据库,并在数据库第一次创建的时候初始化创建一张表student,添加记录,
然后查询数据库种表的数据,显示出来;

java代码如下[/b][/color][/size]:
/* 查询数据库 *//* 返回一个游标对象 */
public Cursor selectData(){
/* 与数据库获得连接,获得只读属性 */
SQLiteDatabase sqliteDatabase = dbhelper.getReadableDatabase();

/* 使用游标保存得到的结果集 *//* 参1:查询语句 ; 参2:查询条件 */
//Cursor cursor = sqliteDatabase.rawQuery("select * from student", null);

/* 使用查询语句:方式二
* @ distinct --是否去除重复行 例:值为:true/false;
* @ table --表名
* @ columns --要查询的列 例: new String[]{"id","name","age"}
* @ selection --查询条件 例:"id>?"
* @ selectionArgs --查询条件的参数 例:new String[]{"3"}
* @ groupBy --对查询的结果进行分组
* @ having --对分组的结果进行限制
* @ orderby --对查询的结果进行排序; 例:"age asc"
* @ limit --分页查询限制 ; 例:"2,5" 从第2行开始,到第5行结束;注:行数从0 开始;
* */
Cursor cursor = sqliteDatabase.query(true,"student", new String[]{"_id","name","age"}, "_id>?", new String[]{"1"}, null, null, "age desc", "1,5");

/* 使用游标---获取游标中的数据 */
while(cursor.moveToNext()){
String id =
cursor.getString(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String age = cursor.getString(cursor.getColumnIndex("age"));
Toast.makeText(MainActivity.this, "_id="+id+" name="+name+" age="+age, 1000).show();
}

return cursor;

}
[/code]
Windows Server 2019 系统中,Nginx 的默认配置文件路径通常位于其安装目录下的 `conf` 文件夹中。默认情况下,Nginx 的主配置文件名为 `nginx.conf`。若用户未在安装或部署过程中自定义路径,该文件通常位于以下路径中: ``` C:\nginx\conf\nginx.conf ``` 如果 Nginx 被解压或安装在其他目录,则配置文件的实际路径可能会有所不同。例如,如果 Nginx 安装在 `D:\nginx`,则默认配置文件路径应为: ``` D:\nginx\conf\nginx.conf ``` 此外,Windows 环境下 Nginx 的配置文件结构与 Linux 系统类似,通常包括以下部分: - `nginx.conf`:主配置文件,定义全局设置及引入其他配置文件。 - `conf.d/`:用于存放额外的配置文件,如虚拟主机配置。 - `sites-available/` 和 `sites-enabled/`:用于管理虚拟主机的配置文件及其符号链接(在 Windows 中可能需要手动复制文件而非使用符号链接)。 在 Windows Server 2019 中,Nginx 默认不会自动创建这些子目录,因此用户需要根据实际需求手动创建并配置相关内容[^1]。 ### 示例:查看 Nginx 配置文件内容 ```nginx # nginx.conf 示例 user nginx; worker_processes auto; error_log logs/error.log; pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } ``` ### 注意事项 - 在 Windows Server 中运行 Nginx 时,需确保配置文件路径和权限设置正确,尤其是日志文件目录(默认为 `logs`)。 - 启动 Nginx 前,可以使用命令 `nginx.exe -t` 来测试配置文件的语法是否正确。 - 如果修改了配置文件路径,需通过命令 `nginx.exe -c <配置文件路径>` 指定的配置文件位置
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值