当前位置: 首页 > news >正文

linux网站建设技术指南禅城网站建设

linux网站建设技术指南,禅城网站建设,网站设计建设公司,温州网站建设icp备2019独角兽企业重金招聘Python工程师标准 SQLite入门之数据类型 2011-05-23 16:47:47 来源#xff1a;SeaYee 最近在开发一个可以记录日志的程序#xff0c;要求效率高#xff0c;需要能做简单的查询和统计。经过同事介绍#xff0c;看上了SQLite。首先了解… 2019独角兽企业重金招聘Python工程师标准   SQLite入门之数据类型   2011-05-23 16:47:47  来源SeaYee 最近在开发一个可以记录日志的程序要求效率高需要能做简单的查询和统计。经过同事介绍看上了SQLite。首先了解一下SQLite存储的数据类型至于SQLite的发展和工作原理可以查看SQLite的官方网站www.sqlite.org网上的相关文章都挺多挺详细的。 一、SQLite简介 SQLite是一款轻型的数据库是遵守ACID的关联式数据库管理系统它的设计目标是嵌入式的而且目前已经在很多嵌入式产品中使用了它它占用资源非常的低在嵌入式设备中可能只需要几百K的内存就够了。它能够支持Windows、Linux、Unix等等主流的操作系统同时能够跟很多程序语言相结合比如 Tcl、C#、PHP、Java等还有ODBC接口同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲它的处理速度比他们都快。 二、SQLite数据类型 SQLite除了在字段类型为“Integer Primary Key”时是限制数据类型外其它情况下SQLite是Typelessness无类型的。这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中无论这列声明的数据类型是什么。 一般数据采用的固定的静态数据类型而SQLite采用的是动态数据类型会根据存入值自动判断。SQLite具有以下五种数据类型 NULL 空值。 INTEGER 带符号的整型具体取决有存入数字的范围大小。 REAL 浮点数字存储为8-byte IEEE浮点数。 TEXT 字符串文本。 BLOB 二进制对象。 但实际上SQLite 3也接受如下的数据类型 smallint 16位元的整数。 interger 32位元的整数。 decimal(p,s) p精确值和s大小的十进位整数精确值p是指全部有几个数(digits)大小值s是指小数点後有几位数。如果没有特别指定则系统会设为p5s0。 float 32位元的实数。 double 64位元的实数。 char(n) n长度的字串n不能超过254。 varchar(n) 长度不固定且其最大长度为n的字串n不能超过4000。 graphic(n) 和char(n)一样不过其单位是两个字元double-bytesn不能超过127。这个形态是为了支援两个字元长度的字体例如中文字。 vargraphic(n) 可变长度且其最大长度为n的双字元字串n不能超过2000。 date 包含了年份、月份、日期。 time 包含了小时、分钟、秒。 timestamp 包含了年、月、日、时、分、秒、千分之一秒。 datetime 包含日期时间格式必须写成“2011-05-23”不能写为“2011-5-23”否则在读取时会产生错误 对于SQLite来说对字段不指定类型是完全有效的如 ? 1 CreateTableex3(a, b, c); 即使SQLite允许忽略数据类型但是仍然建议在你的Create Table语句中指定数据类型。因为数据类型对于你和其他的程序员交流或者你准备换掉你的数据库引擎是非常有用的。SQLite支持常见的数据类型如 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATETABLEex2( aVARCHAR(10), bNVARCHAR(15), cTEXT, dINTEGER, eFLOAT, fBOOLEAN, gCLOB, hBLOB, iTIMESTAMP, jNUMERIC(10,5), kVARYINGCHARACTER(24), lNATIONALVARYINGCHARACTER(16) ); 三、SQLite的类型亲和性分析 以下引用“上善若水”的分析仅供学习参考。网址http://www.cnblogs.com/hustssrs/archive/2009/03/03/1402214.html。 SQLite不强制数据类型约束。任何数据都可以插入任何列。你可以向一个整型列中插入任意长度的字符串向布尔型列中插入浮点数或者向字符型列中插入日期型值。在Create TABLE中所指定的数据类型不会限制在该列中插入任何数据。任何列均可接受任意长度的字符串只有一种情况除外标志为INTEGER PRIMARY KEY的列只能存储64位整数当向这种列中插数据除整数以外的数据时将会产生错误。但SQLite确实使用声明的列类型来指示你所期望的格式。所以例如你向一个整型列中插入字符串时SQLite会试图将该字符串转换成一个整数。如果可以转换它将插入该整数否则将插入字符串。这是一个特性而不是一个Bug。这种特性被称为类型或列亲和性Type or Column Affinity。 1、类型亲和性优点     1)、提高和其它DBMS的兼容性让用户就像是在用一般的DBMS一样而使用它提高了容错能力。    2)、SQLite支持的数据类型只有五种而其它的大型DBMS支持的数据类型有几十种那么如果要将其它的数据转换成SQLite下的数据就根本不能实现所以就将它的数据类型设计为亲和性的数据类型种类少了系统实现会简单很多整个系统也就不会太庞大因为如果有太多的数据类型限制的话本身系统在实现方面也会困难些。然而虽然它支持的类型虽然只有五种可是实际上任何类型都支持了这就是SQLite数据类型亲和性的巧妙之处。由此我个人认为这也就是将数据类型设计成为亲和性的初衷。     3)、在插入数据的时候只要做一些检查和转换即可实现容易。 2、类型亲和性缺点    1)、在对表中数据进行统计方面如果有不一致的数据存在则运算比较混乱其实也就是放宽政策为的是让更多人去维护。不过它自己是有处理方法的如果在运算时出现不同类型的数据时就忽略不计等。     2)、还有在数据比较方面也存在同样的问题不过也有相应的补救措施规定了比较准则        a)、 一个具有空存储类型的值被认为小于任何值包括另外一个具有空存储类型的值。        b)、一个整数值或实数值小于任何文本值和BLOB值。当一个整数或实数和另一个整数或实数相比较的时候则按照实际数值来比较。        c)、一个文本值小于BLOB值。当两个文本值相比较的时候则用C语言类库中的memcmp()函数来比较。然而有时候也不是这样的比如在下面所描述的“用户定义的整理顺序”情况下。        d)、当两个BLOB文本被比较的时候结果决定于memcmp()函数。 转载于:https://my.oschina.net/u/246578/blog/136552
http://wiki.neutronadmin.com/news/368823/

相关文章:

  • 最便宜网站空间如何在网站中做内部链接
  • 没有域名网站吗企业名录数据库
  • 做违法网站网站建设期间注意事项
  • 网站开发敲代码致设计网站
  • 环球旅行社网站建设规划书论文策划公司名字
  • gallery wordpressseo免费课程
  • 南昌网站建设机构临沂网网站建设
  • 大学生网站作业考研培训机构排名
  • 网站会对特殊的ip做跳转服务公司税率
  • 国外无版权图片网站重庆集团公司网站建设
  • 长沙网上商城网站建设方案展示型网站多少钱
  • 获取网站后台地址今科网站建设
  • 网站联盟营销莱州相亲网站
  • 做网站需要多少人端掉一个wordpress网站
  • 网站开发入门培训机构wordpress怎么加背景音乐
  • 网站建设的方案模板眼科医院网站建设方案
  • 福州网站建设方案咨询凡科网和wordpress
  • 通辽网站建设公司有限公司 wordpress
  • 中盛腾龙建设工程有限公司网站所有网页游戏网址
  • 如何在百度开个网站搭建网站什么意思
  • 淘宝网站建设的缺点做网站你给推广
  • it网站制作策划网站开发入门书籍推荐
  • 网站使用说明书模板wordpress删除所有文章
  • 做个外贸网站大概多少钱wordpress代码优化插件
  • 中国建设部网站首页洛阳东翔科技做的网站
  • 苏州吴江建设局招投标网站wordpress auto自动采集
  • 长春网站建设wang查询建设资质的网站
  • 深圳猪八戒网站建设保定市网站制作公司
  • 做网站不备案大二学生做网站难吗
  • 公司简介模板免费下载world哈尔滨seo优化软件