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("字段名称");
0 0
原创粉丝点击