环境配置
参考往期文章
SQL常见代码语句
了解数据库的知识点(增、删、改、查)
数据库的增删改查(CRUD)是数据库操作的核心功能,下面我将分别介绍这些基本操作的概念和常用SQL语句。
1. 增加数据(Create/Insert)
基本语法
INSERT INTO 表名 (字段1, 字段2, ...)
VALUES (值1, 值2, ...);
示例
-- 向学生表插入一条记录
INSERT INTO students (id, name, age, gender)
VALUES (1, '张三', 20, '男');
-- 插入多行数据
INSERT INTO students (id, name, age, gender)
VALUES
(2, '李四', 21, '女'),
(3, '王五', 19, '男');
2. 查询数据(Read/Select)
基本语法
SELECT 字段1, 字段2, ...
FROM 表名
[WHERE 条件]
[ORDER BY 排序字段]
[LIMIT 数量];
示例
-- 查询所有学生信息
SELECT * FROM students;
-- 查询特定条件的学生
SELECT name, age FROM students WHERE age > 20;
-- 排序查询
SELECT * FROM students ORDER BY age DESC;
-- 分页查询
SELECT * FROM students LIMIT 10 OFFSET 20;
3. 更新数据(Update)
基本语法
UPDATE 表名
SET 字段1=值1, 字段2=值2, ...
WHERE 条件;
示例
-- 更新特定学生的年龄
UPDATE students SET age = 22 WHERE id = 1;
-- 批量更新
UPDATE students SET status = '毕业' WHERE grade = 2023;
4. 删除数据(Delete)
基本语法
DELETE FROM 表名 WHERE 条件;
示例
-- 删除特定学生记录
DELETE FROM students WHERE id = 3;
-- 删除所有毕业学生
DELETE FROM students WHERE status = '毕业';
数据库存储
<1>创建工程
创建的工程名为example_demo3
<2>SQLite数据库的创建
上述代码讲解
-
定义了一个名为
MyHelper
的类 -
继承自
SQLiteOpenHelper
,这是 Android 提供的用于简化 SQLite 数据库操作的辅助类 -
public class MyHelper extends SQLiteOpenHelper {
-
构造函数接收一个
Context
参数(上下文对象) -
调用父类构造函数
super()
并传入四个参数:-
context
- 应用上下文 -
"studio.db"
- 数据库文件名 -
null
- 可选的 CursorFactory(通常为 null) -
1
- 数据库版本号(从1开始)
-
-
public MyHelper(@Nullable Context context) { super(context, "studio.db", null, 1); }
-
当数据库第一次创建时调用
-
执行 SQL 语句创建表
information
,包含三个字段:-
_id
:整数类型的主键,自动递增 -
name
:可变长度字符串,最大20个字符 -
age
:整数类型
-
-
这个方法只会在数据库第一次创建时执行一次
-
@Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20),age INTEGER)"); }
-
当数据库需要升级时调用(即版本号增加时)
-
当前实现为空,表示不执行任何升级操作
-
在实际应用中,通常会在这里处理数据库架构的变更,如添加/删除表、修改表结构等
-
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }
<3>控件触发实现对数据库插入数据
MyHelper helper = new MyHelper(this);
Button btn = findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//写数据
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name","张三");
values.put("age","21");
db.insert("information",null,values);
}
});
<4>数据库存入数据结果乱码转换
若下载错误Plugins,则可在marketplace中下载(不要盲目进行删除操作)
<5>实现最终效果
按一次按键传入一条相关的数据
对上次案例进行补充完善
在上次(参考往期博客)的智慧橙园代码中,添加了对账号密码的保存显示功能,记住密码后第二次登录无需输入。
相关代码已传入资源中,可根据需求自行获取。
感谢各位读者的阅读!希望大家给出一键三连,多多支持原创。有错误和不解的地方,欢迎各位读者在评论区讨论,我也会不断学习不断改进,做出更加优质的作品!!!
最后相关代码已传入资源中,可根据需求自行获取。