sqlite支持的数据类型详解

sqlite支持的数据类型详解

ID:34418582

大小:44.00 KB

页数:8页

时间:2019-03-06

sqlite支持的数据类型详解_第1页
sqlite支持的数据类型详解_第2页
sqlite支持的数据类型详解_第3页
sqlite支持的数据类型详解_第4页
sqlite支持的数据类型详解_第5页
资源描述:

《sqlite支持的数据类型详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQLite3数据类型NULL INTEGER REAL TEXT BLOB 但实际上,sqlite3也接受如下的数据类型: smallint16位元的整数。 interger32位元的整数。 decimal(p,s)p精确值和s大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系统会设为p=5;s=0。 float  32位元的实数。 double  64位元的实数。 char(n)  n长度的字串,n不能超过254。 varchar(n)长度不固定且

2、其最大长度为n的字串,n不能超过4000。 graphic(n)和char(n)一样,不过其单位是两个字元double-bytes,n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。 vargraphic(n)可变长度且其最大长度为n的双字元字串,n不能超过2000 date  包含了年份、月份、日期。 time  包含了小时、分钟、秒。 timestamp包含了年、月、日、时、分、秒、千分之一秒。 1.存储类别 第二版把所有列的值都存储成ASCII文本格式。第三版则可以把数据存储成整数和实数,

3、还可以存储BLOB数据.EachvaluestoredinanSQLite数据库中存储的每个值都有一个属性,都属于下面所列类中的一种,(被数据库引擎所控制)NULL:这个值为空值INTEGER:值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.REAL:所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.TEXT:值为文本字符串,使用数据库编码存储(TUTF-8,UTF-16BEorUTF-16-LE).BLOB:值是BLOB数据,如何输入就如何存储,不改变格式.像SQLite2

4、.0版一样,在3.0版中,除了INTEGERPRIMARYKEY,数据库中的任何列都可以存储任何类型的数据.这一规则也有例外,在下面的"严格相似模式"中将描述.输入SQLite的所有值,不管它是嵌入SQL语句中的文字还是提前编译好的绑定在SQL语句中的值,在SQL语句执行前都被存储为一个类.在下面所描述的情况下,数据库引擎将在执行时检查并把值在数字存储类(整数和实数)和文本类间转换.存储的类别最初被分类为如下:具体的值比如SQL语句部分的带双引号或单引号的文字被定义为文本,如果文字没带引号并没有小数点或指数则被定

5、义为整数,如果文字没带引号但有小数点或指数则被定义为实数,如果值是空则被定义为空值.BLOB数据使用符号X'ABCD'来标识.Valuessuppliedusingthe被输入的值使用sqlite3_bind_*APIs的被分类一个存储等级,这等级是和原来的类基本相一致的.(比如sqlite3_bind_blob()绑定一个BLOB的值).值的分类是SQL分等级操作的结果,决定于最远的操作表达式.用户定义的功能也许会把值返回任意的类.在编译的时候来确定表达式的存储类基本是不可能的.2.列之间的亲和性 在SQLit

6、e3.0版中,值被定义为什么类型只和值自身有关,和列没有关系,和变量也没有关系.(这有时被称作弱类型.)所有其它的我们所使用的数据库引擎都受静态类型系统的限制,其中的所有值的类是由其所属列的属性决定的,而和值无关.为了最大限度的增加SQLite数据库和其他数据库的兼容性,SQLite支持列的"类型亲和性".列的亲和性是为该列所存储的数据建议一个类型.我们要注意是建议而不是强迫.在理论上来讲,任何列依然是可以存储任何类型的数据的.只是针对某些列,如果给建议类型的话,数据库将按所建议的类型存储.这个被优先使用的数据类

7、型则被称为"亲和类型".在SQLite3.0版中,数据库中的每一列都被定义为以下亲和类型中的一种:文本 数字的 整数 无 一个具有类型亲和性的列按照无类型,文本,或BLOB存储所有的数据.如果数字数据被插入一个具有文本类型亲和性的列,在存储之前数字将被转换成文本.一个具有数字类型亲和性的列也许使用所有的五个存储类型存储值.当文本数据被插入一个数字列时,在存储之前,数据库将尝试着把文本转换成整数或实数.如果能成功转换的话,值将按证书活实数的类型被存储.如果不能成功转换的话,值则只能按文本类型存储了,而不会被转换成无

8、类型或BLOB类型来存储.一个具有整数亲和力的列在转换方面和具有数字亲和力的列是一样的,但也有些区别,比如没有浮动量的实值(文本值转换的值)被插入具有整数亲和力的列时,它将被转换成整数并按整数类型存储.一个具有无类型亲和力的列不会优先选择使用哪个类型.在数据被输入前它不会强迫数据转换类型.2.1列的亲和性的决定 一个列的亲和类型是由该列所宣称的类型决定的.遵守以下规则:如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。