Android存储--SQLite
来源:互联网 发布:淘宝排除同款 编辑:程序博客网 时间:2024/05/29 13:08
一, 特点:
轻量级 只有一个动态的库, 是以单个文件的形式进行存取
零配置 无需安装
跨平台 支持多个操作系统
嵌入式 嵌入手机
在程序的内部,任何位置都能通过数据库的名称访问数据库, 其他用于程序无法通过数据库的名称对其访问
路径: data/data/应用程序包名/database/****
二 , 数据存储的类型
NULL 空值
INTEGER 整型
VARCHAR 可变长度的字符数据
TEXT 文本字符串
BOOLEAN 布尔
三, sql语句
1, 创建表
create table if not exists 表名(字段名称 字段类型 primary key autoincrement,字段名称 字段类型,.....)
create table if not exists user(_id integer primary key autoincrement,name varchar(20),age integer)
2, 插入数据
insert into 表名(字段S) values(值S)
insert into user(name,age) values('小明',20)
3, 修改数据
update 表名 set 字段名称=值 where 字段 = 值
update user set name='小攀' where _id=1
4, 查询数据
select (字段S) from 表名 where 字段 = 值
select * from user
模糊查询: select * from 表名 where name like '%o%'
5, 删除数据
delete from 表名 where 字段 = 值
delete from user where _id=2
四, 操作数据库的核心类
1, SQLiteDatabase 管理和操作数据库
特点:
提供了一个管理数据库的类
提供了增删改查的方法
数据库的名称是唯一的, 创建一次之后就是打开数据
获取数据库对象的方法
Context.openOrCreateDatabase(String name, int mode, CursorFactory factory);
SQLiteDatabase 主要提供的方法
void execSQL(String sql) 执行sql语句
Cusor rawQuery(String sql,String[] selectionArgs) 查询数据库符合要求的内容
封装好的方法:
insert() 插入数据到指定的表中
update() 修改指定表中的数据
query() 查询表中的指定内容
delete() 删除表中指定的数据
2, SQLiteOpenHelper 用于数据库的创建和版本的更新
作用:
初始化数据库
升级数据库
打开数据库的连接
使用:
1, 定义一个类, 继承SQLiteOpenHelper
2, 重写父类的方法:
onCreate(SQLiteDatatabase db)第一次创建数据库时调用, 只会被执行一次
onUpgrade(SQLiteDatatabase db,int oldVersion, int newVersion) 当数据库版本发生变化时, 执行此方法(可能会被执行多次)
3, 提供一个构造方法
3, Cursor 游标
默认游标的位置显示在数据之上
boolean cursor.move(int offset) 游标向上或向下移动指定的行数 , 如果offset为正数,则表示向上移动; 如果为负数 表示向下移动; 并且判断当前数据是否存在
boolean cursor.moveToNext() 游标移动到下一条数据, 并且判断下一条数据是否存在
boolean cursor.moveToPrevious() 游标移动到上一条数据, 并且判断上一条数据是否存在
boolean cursor.moveToFirst()游标移动到第一条数据, 并且判断第一条数据是否存在
boolean cursor.moveToLast() 游标移动到最后一条数据, 并且判断最后一条数据是否存在
boolean cursor.moveToPosition() 游标移动到某一条数据, 并且判断某一条数据是否存在
int cursor.getCount() 得到游标中数据的数量
取值
获取数据内容 cursor.getString(列的编号) //列的编号从0开始
根据列的名称得到列的编号: cursor.getColumnIndex("字段名称");
轻量级 只有一个动态的库, 是以单个文件的形式进行存取
零配置 无需安装
跨平台 支持多个操作系统
嵌入式 嵌入手机
在程序的内部,任何位置都能通过数据库的名称访问数据库, 其他用于程序无法通过数据库的名称对其访问
路径: data/data/应用程序包名/database/****
二 , 数据存储的类型
NULL 空值
INTEGER 整型
VARCHAR 可变长度的字符数据
TEXT 文本字符串
BOOLEAN 布尔
三, sql语句
1, 创建表
create table if not exists 表名(字段名称 字段类型 primary key autoincrement,字段名称 字段类型,.....)
create table if not exists user(_id integer primary key autoincrement,name varchar(20),age integer)
2, 插入数据
insert into 表名(字段S) values(值S)
insert into user(name,age) values('小明',20)
3, 修改数据
update 表名 set 字段名称=值 where 字段 = 值
update user set name='小攀' where _id=1
4, 查询数据
select (字段S) from 表名 where 字段 = 值
select * from user
模糊查询: select * from 表名 where name like '%o%'
5, 删除数据
delete from 表名 where 字段 = 值
delete from user where _id=2
四, 操作数据库的核心类
1, SQLiteDatabase 管理和操作数据库
特点:
提供了一个管理数据库的类
提供了增删改查的方法
数据库的名称是唯一的, 创建一次之后就是打开数据
获取数据库对象的方法
Context.openOrCreateDatabase(String name, int mode, CursorFactory factory);
SQLiteDatabase 主要提供的方法
void execSQL(String sql) 执行sql语句
Cusor rawQuery(String sql,String[] selectionArgs) 查询数据库符合要求的内容
封装好的方法:
insert() 插入数据到指定的表中
update() 修改指定表中的数据
query() 查询表中的指定内容
delete() 删除表中指定的数据
2, SQLiteOpenHelper 用于数据库的创建和版本的更新
作用:
初始化数据库
升级数据库
打开数据库的连接
使用:
1, 定义一个类, 继承SQLiteOpenHelper
2, 重写父类的方法:
onCreate(SQLiteDatatabase db)第一次创建数据库时调用, 只会被执行一次
onUpgrade(SQLiteDatatabase db,int oldVersion, int newVersion) 当数据库版本发生变化时, 执行此方法(可能会被执行多次)
3, 提供一个构造方法
3, Cursor 游标
默认游标的位置显示在数据之上
boolean cursor.move(int offset) 游标向上或向下移动指定的行数 , 如果offset为正数,则表示向上移动; 如果为负数 表示向下移动; 并且判断当前数据是否存在
boolean cursor.moveToNext() 游标移动到下一条数据, 并且判断下一条数据是否存在
boolean cursor.moveToPrevious() 游标移动到上一条数据, 并且判断上一条数据是否存在
boolean cursor.moveToFirst()游标移动到第一条数据, 并且判断第一条数据是否存在
boolean cursor.moveToLast() 游标移动到最后一条数据, 并且判断最后一条数据是否存在
boolean cursor.moveToPosition() 游标移动到某一条数据, 并且判断某一条数据是否存在
int cursor.getCount() 得到游标中数据的数量
取值
获取数据内容 cursor.getString(列的编号) //列的编号从0开始
根据列的名称得到列的编号: cursor.getColumnIndex("字段名称");
0 0
- Android之SQlite存储
- Android之SQlite存储
- Android之SQlite存储
- Android之SQlite存储
- Android之Sqlite存储
- Android之SQlite存储
- Android之SQlite存储
- android数据存储--SQLite
- Android 数据库存储 SQLite
- Android数据存储---SQLite
- android存储---sqlite浅谈
- Android数据存储-SQLite
- Android存储之SQLite
- android sqlite 存储图片
- android-数据存储sqlite
- Android -SQLite数据库存储
- Android存储-SQLite
- Android SQLite数据库存储
- Python基础-输出到文件
- 用Netty开发中间件:高并发性能优化
- Spring MVC学习总结(一)---(一:基本概念和意义的理解)
- c++primer-p101.ex3.24
- iOS 比较load和initialize方法
- Android存储--SQLite
- 数据类型不匹配时最好使用强制类型转换
- 剑指Offer——Trie树(字典树)
- 初识java的xml
- 座谈会——体会(一)
- 使用STM32F1xx_HAL库实现CAN通信的问题
- 逝去的雄心壮志
- 357. Count Numbers with Unique Digits
- JAVA基础6.42——静态代码块