SQLite教程:创建、查询与操作
需积分: 11 100 浏览量
更新于2024-09-18
收藏 43KB DOC 举报
SQLite是一种轻量级的关系型数据库管理系统,特别适合在Android应用中使用,因为它提供了本地数据存储的能力,无需网络连接。本文档详细介绍了SQLite在Android开发中的特殊使用方法。
首先,创建表是SQLite的基础,使用SQL命令`CREATE TABLE`定义表结构,如创建一个名为`Student`的表,包含`stud_no`(主键)和`stud_name`两个字段:
```sql
CREATE TABLE Student (
stud_no TEXT PRIMARY KEY,
stud_name TEXT
);
```
查询操作非常灵活,例如,通过`WHERE`子句筛选特定条件的数据。例如,查询学号不等于'102'的学生名字:
```sql
SELECT stud_no, stud_name
FROM Student
WHERE stud_no <> '102';
```
同时满足多个条件的查询可以通过`AND`或`OR`运算符组合,比如找出学号不是'101'且名字不是'Linda'的学生名字:
```sql
SELECT stud_name
FROM Student
WHERE stud_no <> '101' AND stud_name <> 'Linda';
```
联接多个表是通过`JOIN`操作实现的,例如,将`Student`表与`Course`表根据`stud_no`进行联结:
```sql
SELECT Student.stud_name, Course.course_name
FROM Student
JOIN Course
ON Student.stud_no = Course.stud_no;
```
对数据进行聚合计算,如求和和平均值,可以在`SELECT`语句中使用内置函数`SUM()`和`AVG()`,如计算`New_Course`表中每个课程的总分和平均分:
```sql
SELECT SUM(score1), SUM(score2)
FROM New_Course;
SELECT AVG(score1), AVG(score2)
FROM New_Course;
```
`GROUP BY`子句用于根据某个字段对数据进行分组,并对每个组进行汇总计算。例如,按照`course_name`对学生分数进行分组求和:
```sql
SELECT course_name, SUM(score1), SUM(score2)
FROM New_Course
GROUP BY course_name;
```
在Android应用中,使用`SQLiteOpenHelper`类来管理数据库的生命周期,包括创建、升级和关闭数据库。在插入数据时,除了传统的SQL语句,还可以使用`ContentValues`对象配合`db.insert()`方法来批量添加记录:
```java
ContentValues cv = new ContentValues();
cv.put("stud_no", "S108");
cv.put("stud_name", "Lily Chen");
db.insert("Student", null, cv);
```
查询操作则通过`query()`方法根据指定列获取数据,并通过`Cursor`遍历结果。在读取数据时,检查游标是否到达最后一条记录是关键,例如:
```java
if (!cur.isAfterLast()) {
String ss = cur.getString(0) + ", " + cur.getString(1);
// ...进一步处理
cur.moveToNext();
}
```
总结来说,SQLite在Android开发中的特殊使用包括创建和管理数据库、执行SQL查询、数据聚合、使用`ContentValues`进行数据操作以及游标遍历。这些功能使得SQLite成为轻量级本地数据存储的理想选择。
2012-04-11 上传
2010-05-13 上传
2020-09-10 上传
2010-05-13 上传
2011-06-17 上传
2009-08-20 上传
2012-09-09 上传
2015-10-20 上传
2019-04-14 上传
leiwenqing_1982
- 粉丝: 0
- 资源: 41
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率