Android SQLite数据库中的表详解
什么是SQLite数据库
SQLite是一种轻量级的关系型数据库管理系统,它被广泛用于应用程序中,适用于存储和管理较小的、离线的数据。在Android中,SQLite是官方推荐使用的本地数据存储方式之一,适用于各种类型的数据存储需求。
什么是SQLite表
在SQLite数据库中,表是存储数据的主要对象。表可以看作是一种数据结构,由列(字段)和行组成。每行表示一个记录,每列表示记录的某一个属性。表中的数据是按照行的顺序依次逐一存放的。
创建SQLite表
在Android中,可以通过SQLiteOpenHelper来创建和管理数据库及其中的表。
public class DBHelper extends SQLiteOpenHelper {
// 定义数据库名和版本号
private static final String DATABASE_NAME = "mydb.db";
private static final int DATABASE_VERSION = 1;
// 定义表名和字段名
private static final String TABLE_NAME = "student";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_AGE = "age";
// 创建表的SQL语句
private static final String CREATE_TABLE_SQL = "CREATE TABLE " + TABLE_NAME + " ("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COLUMN_NAME + " TEXT NOT NULL, "
+ COLUMN_AGE + " INTEGER NOT NULL)";
// 构造方法
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// 创建表
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_SQL);
}
// 更新表
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String DROP_TABLE_SQL = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(DROP_TABLE_SQL);
onCreate(db);
}
}
向SQLite表中添加数据
// 获取数据库实例
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 创建ContentValues对象,用于存放数据
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, "Tom");
values.put(DBHelper.COLUMN_AGE, 20);
// 添加数据
long rowId = db.insert(DBHelper.TABLE_NAME, null, values);
// 关闭数据库
db.close();
从SQLite表中查询数据
// 获取数据库实例
SQLiteDatabase db = dbHelper.getReadableDatabase();
// 查询数据
Cursor cursor = db.query(DBHelper.TABLE_NAME, null, null, null, null, null, null);
// 遍历结果集
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(DBHelper.COLUMN_ID));
String name = cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_NAME));
int age = cursor.getInt(cursor.getColumnIndex(DBHelper.COLUMN_AGE));
// 处理数据...
}
// 关闭结果集和数据库
cursor.close();
db.close();
示例1:创建一个保存学生信息的表
在上述示例代码中,定义了一个保存学生信息的表,表中包含了三个字段,分别是学生ID、姓名和年龄。每个学生的信息由这三个字段的值确定,可以通过向该表中添加记录的方式保存学生信息。
示例2:从SQLite表中查询学生信息
在上述示例代码中,通过查询语句从保存学生信息的表中查询数据,并通过Cursor对象遍历查询结果集,获取学生ID、姓名和年龄等字段的值。最终处理完数据后,需要关闭结果集和数据库连接,以释放资源。
以上便是Android SQLite数据库中的表的详细讲解以及操作示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android SQLite数据库中的表详解 - Python技术站