加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite数据存储

发布时间:2020-12-12 19:40:58 所属栏目:百科 来源:网络整理
导读:SQLite简介 SQLite是可用c语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。 支持高大2TB大小的数据库 以单个文件的形式存在 以B-Tree的数据结构形式存储在磁盘 特性主要包括: 轻量级 一个动态库、单文件 独

SQLite简介

SQLite是可用c语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。

  • 支持高大2TB大小的数据库
  • 以单个文件的形式存在
  • 以B-Tree的数据结构形式存储在磁盘

特性主要包括:

  1. 轻量级 一个动态库、单文件
  2. 独立性 没有依赖、无序安装
  3. 隔离性 全部在一个文件夹中
  4. 跨平台 支持众多操作系统
  5. 多语言接口 支持众多编程语言
  6. 安全性 事务

关于事务处理的安全性问题

  • 通过数据库上的独立性和共享锁来实现独立事务处理。
  • 多个进程可以在同一时间从同一数据库读取数据,但只要一个进程可以写入数据。

关于SQLite的数据类型:

  • SQLite支持NULL、INTEGER、REAL、TEXT、BLOB数据类型
  • 一次代表:空值、整型值、浮点值、字符串值、二进制对象

动态数据类型(弱类型):
-当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则将会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储。

安全性:通过单一的独占和共享锁,进程要读写SQLite数据库内的数据时,要获得这个锁,这样就避免了其他进程乱用,提高了安全性。

在Android中如何使用SQLite:
- SQLiteDatabase
- SQLiteOpenHelper

使用内置函数操作数据库
1. ContentValues类
存储一组可以被ContentResolver处理的值,可以理解为它的对象存储了多个键值对
2. 使用ContentValues和内置函数插入数据库

ContentValues values = new ContentValues();
values.put("name","xzhang76");
values.put("sex","man");
values.put("age",26);
sqLiteDatabase.insert("studentdb",null,values);

可以将values清空,并重新存值。

values.clear();
values.put("name","xzhang65");
values.put("sex",27);
sqLiteDatabase.insert("studentdb",values);
  1. 更新和删除
sqLiteDatabase.update("studentdb",values,"_id>?",new String[]{"4"});
sqLiteDatabase.delete("studentdb","name like ?",new String[]{"%8%"});
  1. 通过Cursor类的getColumnNames()可以得到所有的列名
String[] columnNames = cursor.getColumnNames();
while (cursor.moveToNext()) { //moveToNext()可以移动到下一行
for(String columnName:columnNames) {
Log.i(TAG,cursor.getString(cursor.getColumnIndex(columnName)));
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读