Android SQLite数据库总结
简介
SQLite是Android系统提供的一种嵌入式数据库,其主要用途是存储手机应用程序或者游戏中的数据。SQLite是一个轻量级的数据库,它将数据存储在本地文件中,而不是像其他数据库管理系统(DBMS)一样运行在服务器上。本篇文章将会详细介绍SQLite数据库的使用方法,以及常用的CRUD操作。
SQLite基本概念
数据库
数据库是一个组织数据的集合。数据保存在表中,每个表可以包含多个记录。与其他数据库管理系统不同的是,SQLite创建数据库后会在本地文件系统保存数据。
数据表
数据表是数据库中被命名的矩形表格。它们包含行和列,行表示记录,列表示数据属性。
记录
记录是数据表中的一行。
列
列是数据表中的一个数据属性。
主键
主键是一列数据,用于唯一地标识一条记录。主键约束确保主键列中的每个值都是唯一的,并且不能为NULL。
SQLite常用数据类型
SQLite具有一组基本数据类型,涵盖了所有常见的数据类型,如整数、浮点数、字符串等。以下是SQLite常用的数据类型列表:
数据类型 | 描述 |
---|---|
INTEGER | 带符号的整数 |
REAL | 浮点数 |
TEXT | 字符串 |
BLOB | 二进制数据 |
SQLite的基本CRUD操作
创建数据库
下面是一个创建名为“Test”的数据库的SQL语句:
CREATE DATABASE Test;
创建数据表
下面是一个创建名为“Person”的数据表的SQL语句:
CREATE TABLE Person (
Id INTEGER PRIMARY KEY,
Name TEXT,
Age INTEGER
);
插入数据
下面是一个将数据插入名为“Person”的数据表的SQL语句:
INSERT INTO Person (Id, Name, Age) VALUES (1, 'Tom', 20);
更新数据
下面是一个更新名为“Person”的数据表的SQL语句:
UPDATE Person SET Age = 21 WHERE Id = 1;
删除数据
下面是一个删除名为“Person”的数据表中Id为1的数据的SQL语句:
DELETE FROM Person WHERE Id = 1;
在Android中使用SQLite
创建SQLite数据库
在Android中创建SQLite数据库主要分为以下几个步骤:
- 继承Android提供的SQLiteOpenHelper类;
- 实现SQLiteOpenHelper类的构造函数和onCreate()、onUpgrade()方法;
- 创建数据库,创建表格;
- 在操作数据库的时候调用SQLiteOpenHelper中的getWritableDatabase()或者getReadableDatabase()方法获取到SQLite数据库对象;
下面是一个创建SQLite数据库的代码示例:
public class DatabaseHelper extends SQLiteOpenHelper {
// 数据库名
public static final String DATABASE_NAME = "test.db";
// 数据库版本
public static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE Person (" +
"Id INTEGER PRIMARY KEY," +
"Name TEXT," +
"Age INTEGER" +
")";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS Person";
db.execSQL(sql);
onCreate(db);
}
}
插入数据
下面是一个向数据表插入一条记录的代码示例:
DatabaseHelper databaseHelper = new DatabaseHelper(context);
SQLiteDatabase db = databaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("Id", 1);
values.put("Name", "Tom");
values.put("Age", 20);
db.insert("Person", null, values);
db.close();
查询数据
下面是一个查询名为“Person”的数据表中Id为1的记录的代码示例:
DatabaseHelper databaseHelper = new DatabaseHelper(context);
SQLiteDatabase db = databaseHelper.getReadableDatabase();
String[] columns = {"Id", "Name", "Age"};
String selection = "Id = ?";
String[] selectionArgs = {"1"};
String groupBy = null;
String having = null;
String orderBy = null;
Cursor cursor = db.query("Person", columns, selection, selectionArgs, groupBy, having, orderBy);
if (cursor.moveToFirst()) {
long id = cursor.getLong(cursor.getColumnIndex("Id"));
String name = cursor.getString(cursor.getColumnIndex("Name"));
int age = cursor.getInt(cursor.getColumnIndex("Age"));
}
cursor.close();
db.close();
总结
本篇文章主要介绍了SQLite数据库的基本概念、常用数据类型,以及在Android中使用SQLite数据库的方法。SQLite是Android系统提供的一个内嵌式轻量级数据库,可用于存储应用程序或者游戏的数据,是Android系统中一个非常重要的组件。通过本篇文章,您应该已经了解如何创建SQLite数据库,创建数据表,插入、更新和删除数据,以及在Android中使用SQLite数据库的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:android SQLite数据库总结 - Python技术站