SQLite教程:创建、查询与操作

需积分: 11 1 下载量 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成为轻量级本地数据存储的理想选择。