Android的SQLite的基本操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Spring_East/article/details/80021551

SQLite的简介:

        SQLite是一款轻型的数据库,它的设计目标是嵌入 式的,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。


SQLite的特点
1:轻量级
SQLite 和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite一般只需要带上它的一个动态库,就可以享受它的全部功能。而且那个动态库的尺寸也挺小,以版本3.6.11为例,Windows下487KB、Linux下347KB。
2:不需要"安装"
SQLite的核心引擎本身不依赖第三方的软件,使用它也不需要"安装"。有点类似那种绿色软件。
3:单一文件
数据库中所有的信息(比如表、视图等)都包含在一个文件内。这个文件可以自由复制到其它目录或其它机器上。
4:跨平台/可移植性好
除了主流操作系统 windows,linux之后,SQLite还支持其它一些不常用的操作系统。
5:弱类型的字段

同一列中的数据可以是不同类型

6:开源

        

SQLite支持的数据类型
NULL: 这个值为空值
VARCHAR(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000。
CHAR(n):长度固定为n的字串,n不能超过 254。
INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.
REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.
TEXT: 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).
BLOB: 值是BLOB数据块,以输入的数据格式进行存储。如何输入就如何存储,不改  变格式。
DATA :包含了 年份、月份、日期。

TIME: 包含了 小时、分钟、秒。


SQLiteDatabasejianjie

        SQLiteDatabase是操作SQLite数据库的主要类,它提供了一系列方法来进行数据库的各种操作

SQLiteDatabase的基本操作:

    打开或创建一个数据库:

public static SQLIteDatabase openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)

例:

/创建数据库文件
        final SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()
                +"/stu.db3",null);

    执行一个SQL语句,可以执行除了查询语句以外的其它语句:        

        public void execSQL( String sql)

public void execSQL(String sql, Object[] bindArgs)

        execSQL(String sql, Object[] bindArgs)方法的第一个参数为SQL语句,第二个参数为SQL语句中占位符参数的值,参数值在数组中的顺序要和占位符的位置对应。

例:
sqLiteDatabase.execSQL("insert into student(name, age) values('王鸿基', 24)"); 
sqLiteDatabase .execSQL("insert into student(name, age) values(?,?)", new Object[]{"王鸿基", 24}); 
        执行查询SQL语句,返回值是一个Cursor对象

public Cursor rawQuery(String sql,String [] selectionArgs)

        第一个语句为查询语句,如果所有的查询语句都写在第一个参数里,则第二个参数可以使用null,或者第一个参数中使用“?”保留一些位置,其值由第二个参数字符串数组中的对应值进行替换,该方法返回一个Cursor对象。

        例:

Cursor cursor = db.rawQuery("select * from student", null);
关闭数据库
public void close()
Cursor的简介:
Cursor 是每行的集合。使用 moveToFirst() 定位第一行。
必须知道每一列的名称及数据类型。

Cursor 是一个随机的数据源。所有的数据都是通过下标取得。



Cursor的常用方法:
boolean moveToNext()
移动光标到下一行
boolean moveToPrevious()
移动光标到上一行
boolean moveToFirst()
移动光标到第一行
boolean moveToLast()
移动光标到最后一行
boolean moveToPosition(int position)
移动光标到position位置处
boolean move(int offset)
光标移动offset位,offset为正,则向后移动,为负,则向前移动
boolean isFirst()
判断光标是否在第一行
boolean isLast()
判断光标是否在最后一行
int getPosition()
返回光标的当前位置
int getColumnCount()
返回所有列的总数
int getCount()
返回查询结果中的数据条数
int getInt(int index)
int getString(int index)
返回指定字段位置的相应数据类型的数据

猜你喜欢

转载自blog.csdn.net/Spring_East/article/details/80021551
今日推荐