SQLite数据库操作
SQLite数据库介绍
- Android系统中集成的轻量级的数据库
- 特点:
轻量级 是以单个文件的形式进行存取
跨平台 支持多个操作系统
零配置 无需安装, 直接使用
嵌入式 内嵌到手机中 - 在程序的内部可以通过数据库的名称访问, 其他应用不能访问
- .路径: data/data/应用程序包名/database/ 自定义名.db
- 存放的类型:
NULL 空值
INTEGER 整型(不用int)
VARCHAR 可变长度的字符数据
TEXT 文本字符串
BOOLEAN 布尔
DATE
TIME
数据库核心类
- SQLiteOpenHelper 数据库的帮助类:用于数据库的创建和版本更新
定义一个类,继承SQLiteOpenHelper
重写构造方法:提供数据库的基本信息 : 上下文对象,数据库名称,Null,数据库的版本号
重写父类的方法:
onCreate():第一次创建数据库时调用,只会执行一次
onUpgrade() - SQLiteDatabase 数据库的操作类,操作数据库:执行sql语句/增/删/改/查
获取SQLiteDatabase对象
一. 执行sql 语句
void execSQL(String sql,String[] bindArgs); 执行增删改
Cusor rawQuery(String sql,String[] selectionArgs); 执行查询
二. 执行方法 —— 封装好的方法 (适用于菜鸟级别的程序员)
insert() 插入数据
update() 修改数据
delete() 删除数据
query() 查询数据
SQL语句复习
- 创建表:
create table student(_id integer primary key autoincrement,name varchar(30),age integer,address varchar(30)) - 添加数据:insert into student values(null,‘职业大坑’,18,‘北京市’)
- 修改数据:update student set age=13,address=‘北京市’ where name=‘职业大坑’
- 查询数据:select * from student where 字段 = ‘值’模糊查询: select * from 表名 where name like ‘%任意%’ select * from student order by age desc
sum(列名) 求和
max(列名) 最大值
min(列名) 最小值
avg(列名) 求平均值
count(列名) 统计记录数 - 删除数据:delete from student where id=12
SQLite代码
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button button1,button2,button3,button4,button5;
SQLiteDatabase database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = findViewById(R.id.bt_insert);
button2 = findViewById(R.id.bt_delete);
button3 = findViewById(R.id.bt_update);
button4 = findViewById(R.id.bt_query);
button1.setOnClickListener(this);
button2.setOnClickListener(this)