android sqlite3 adb命令学习(2)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-15 19:49 点击:

.read FILENAME           执行指定文件中的SQL语句
.schema ?TABLE?          打印创建数据库表的SQL语句
.separator STRING        用指定的字符串代替字段分隔符
.show                    打印所有SQLite环境变量的设置
.quit                    退出命令行接口


1.存储类别

第二版把所有列的值都存储成ASCII文本格式。第三版则可以把数据存储成整数和实数,还可以存储BLOB数据.

Each value stored in an SQLite数据库中存储的每个值都有一个属性,都属于下面所列类中的一种,(被数据库引擎所控制)

NULL: 这个值为空值
INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.
REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.
TEXT: 文本. 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).
BLOB: 值是BLOB数据,如何输入就如何存储,不改变格式.

像SQLite2.0版一样,在3.0版中,除了INTEGER PRIMARY KEY,数据库中的任何列都可以存储任何类型的数据. 这一规则也有例外,在下面的"严格相似

模式"中将描述.

输入SQLite的所有值,不管它是嵌入 SQL语句中的文字还是提前编译好的绑定在SQL语句中的值, 在SQL语句执行前都被存储为一个类.在下面所描述

的情况下,数据库引擎将在执行时检查并把值 在数字存储类(整数和实数)和文本类间转换.

存储的类别最初被分类为如下:

具体的值比如SQL语句部分的带双引号或单引号的文字被定义为文本,如果文字没带引号并没有小数点或指数则被定义为整数,如果文字没带引号但有

小数点或指数则被定义为实数, 如果值是空则被定义为空值.BLOB数据使用符号X'ABCD'来标识.

Values supplied using the 被输入的值使用sqlite3_bind_* APIs的被分类一个存储等级, 这等级是和原来的类基本相一致的. (比如

qlite3_bind_blob()绑定一个BLOB的值).

值的分类是SQL分等级操作的结果,决定于最远的操作表达式.用户定义的功能也许会把值返回任意的类.在编译的时候来确定表达式的存储类基本是

不可能的.

2. 列之间的亲和性

在SQLite3.0版中,值被定义为什么类型只和值自身有关,和列没有关系,和变量也没有关系. (这有时被称作 弱类型.)所有其它的我们所使用的数据

库引擎都受静态类型系统的限制, 其中的所有值的类是由其所属列的属性决定的,而和值无关.

为了最大限度的增加SQLite数据库和其他数据库的兼容性,SQLite支持列的"类型亲和性".
列的亲和性是为该列所存储的数据建议一个类型.我们要注意是建议而不是强迫. 在理论上来讲,任何列依然是可以存储任何类型的数据的. 只是针

对某些列,如果给建议类型的话,数据库将按所建议的类型存储.这个被优先使用的数据类型则被称为"亲和类型".

在SQLite3.0版中,数据库中的每一列都被定义为以下亲和类型中的一种:

TEXT
NUMERIC
INTEGER
REAL
NONE

一个具有类型亲和性的列按照无类型,文本,或BLOB存储所有的数据.如果数字数据被插入一个 具有文本类型亲和性的列,在存储之前数字将被转换成

文本.

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1