Android SQLit数据库学习

大道之行,天下为公。这篇文章主要讲述Android SQLit数据库学习相关的知识,希望能为你提供帮助。
Android中SqLite的使用详情

今天我就和大家分享一下在android中如何使用SQLite。

      首先,我们来了解一下SQLite,SQLite是一款轻型的嵌入式数据库,是遵守ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统。

SQLite的特点:

      1.轻量级
            使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸比较小。
      2.独立性(不需要安装)
            SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。
      3.隔离性
            SQLite 数据库中所有的信息(比如表、视图、触发器等)都包含在一个文件夹内,方便管理和维护。
      4.跨平台
            SQLite 目前支持大部分操作系统(windows,linux,Android,ios),不至电脑操作系统更在众多的手机系统也是能够运行
      5.多语言接口
            SQLite 数据库支持多语言编程接口。
      6.安全性
            SQLite 数据库通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只能有一个可以写入数据。
           
SQLite数据类型:

      一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。
     
            SQLite具有以下五种常用的数据类型:
            ?
                  NULL: 表示一个NULL值
                  INTEGER: 用来存储一个整数,根据大小可以使用1,2,3,4,6,8位来存储.
                  REAL: IEEE 浮点数
                  TEXT: 按照字符串来存储
                  BLOB: 按照二进制值存储,不做任何改变.
           
            要注意,这些类型是值本身的属性,而不是列的属性.但是为了和其他DBMS(以及SQL标准)兼容,在其create table语句中可以指定列的类型,为此,SQLite有个列相似性的概念(Column Affinity). 列相似性是列的属性,SQLite有以下几种列相似性:
           
                  TEXT: TEXT列使用NULL,TEXT或者BLOB存储任何插入到此列的数据,如果数据是数字,则转换为TEXT.
                  NUMERIC: NUMERIC列可以使用任何存储类型,它首先试图将插入的数据转换为REAL或INTEGER型的,如果成功则存储为REAL和INTEGER型,否则不加改变的存入.
                  INTEGER:和NUMERIC类似,只是它将可以转换为INTEGER值都转换为INTEGER,如果是REAL型,且没有小数部分,也转为INTEGER
                  REAL: 和NUMERIC类型 只是它将可以转换为REAL和INTEGER值都转换为REAL.
                  NONE:不做任何改变的尝试.
           
            SQLite根据create table语句来决定每个列的列相似性.规则如下(大小写均忽略):
                  1. 如果数据类型中包括INT,则是INTEGER
                  2. 如果数据类型中包括CHAR,CLOB,TEXT则是TEXT
                  3. 如果数据类型中包括BLOB,或者没有指定数据类型,则是NONE
                  4. 如果数据类型中包括REAL,FLOA或者DOUB,则是REAL
                  5. 其余的情况都是NUMERIC
                 
SQLiteDatabase的常用方法,方法名称及方法表示含义:

            打开或创建数据库
            openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory  factory)、

            插入一条记录
            insert(String table,String nullColumnHack,ContentValues  values)
           

Android SQLit数据库学习

文章图片

 

            删除一条记录
            delete(String table,String whereClause,String[]  whereArgs)
           
Android SQLit数据库学习

文章图片

 

            查询一条记录
            query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy)
           
Android SQLit数据库学习

文章图片

 

            修改记录
            update(String table,ContentValues values,String whereClause,String[]  whereArgs)
           
Android SQLit数据库学习

文章图片

 

            执行一条SQL语句
            execSQL(String sql)
           
Android SQLit数据库学习

文章图片

 

            关闭数据库
            close()
 
Android SQLit数据库学习

文章图片

 


在使用Sqlite的过程中,我们必须使用到一个辅助类————SQLiteOpenHelper

      SQLiteOpenHelper是SQLiteDatabase的一个帮助类,用来管理数据库的创建和版本的更新。一般是建立一个类继承它,并实现它的onCreate和onUpgrade方法.
     
      SQLiteOpenHelper提供的常用方法,方法名称及方法表示含义:
     
            构造方法,一般是传递一个要创建的数据库名称,版本等参数
            SQLiteOpenHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version)
           
Android SQLit数据库学习

文章图片

 

            创建数据库时调用
            onCreate(SQLiteDatabase db)
           
Android SQLit数据库学习

文章图片

 

            版本更新时调用
            onUpgrade(SQLiteDatabase db,int oldVersion , int newVersion)
           
Android SQLit数据库学习

文章图片

 

            创建或打开一个只读数据库
            getReadableDatabase()
                 
Android SQLit数据库学习

文章图片

 

            创建或打开一个读写数据库
            getWritableDatabase()
Android SQLit数据库学习

文章图片




源码下载地址:http://download.csdn.net/detail/littyzhon/9839805
【Android SQLit数据库学习】 



























































































    推荐阅读