2019独角兽企业重金招聘Python工程师标准>>>

一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:

1.NULL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点数字,存储为8-byte IEEE浮点数。
4.TEXT:字符串文本。
5.BLOB:二进制对象。

但实际上,sqlite3也接受如下的数据类型:
 smallint 16 位元的整数。
 interger 32 位元的整数。
 decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。
 float  32位元的实数。
 double  64位元的实数。
 char(n)  n 长度的字串,n不能超过 254。
 varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。
 graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。
 vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n不能超过 2000
 date  包含了 年份、月份、日期。
 time  包含了 小时、分钟、秒。
 timestamp 包含了 年、月、日、时、分、秒、千分之一秒。

datetime 包含日期时间格式,必须写成'2010-08-05'不能写为'2010-8-5',否则在读取时会产生错误!

Sqlite常用数据类型,

这句话本身就有问题,因为:SQLite是无类型的. 这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中, 无论这列声明的数据类型是什么(只有自动递增Integer Primary Key才有用). 对于SQLite来说对字段不指定类型是完全有效的. 如:

Create Table ex3(a, b, c);

即使SQLite允许忽略数据类型, 但是仍然建议在你的Create Table语句中指定数据类型. 因为数据类型对于你和其他的程序员交流, 或者你准备换掉你的数据库引擎是非常有用的. SQLite支持常见的数据类型, 如:

SQL代码

  1. CREATE TABLE ex2(

  2. a VARCHAR(10),

  3. b NVARCHAR(15),

  4. c TEXT,

  5. d INTEGER,

  6. e FLOAT,

  7. f BOOLEAN,

  8. g CLOB,

  9. h BLOB,

  10. i TIMESTAMP,

  11. j NUMERIC(10,5),

  12. k VARYING CHARACTER (24),

  13. l NATIONAL VARYING CHARACTER(16)

  14. );

char、varchar、text和nchar、nvarchar、ntext的区别

1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。

2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。

3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。

所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。

转载于:https://my.oschina.net/carbenson/blog/510582

SQLite的数据类型总结相关推荐

  1. SQLite数据库数据类型详解

    数据类型 类型 描             述 bit 整型 bit 数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或Fa lse .O ...

  2. android SQLite常用数据类型

    SQLite允许忽略数据类型,但是,仍然建议在Create Table语句中指定数据类型,因为数据类型有利于增强程序的可读性.SQLite支持常见的数据类型,如VARCHAR.NVARCHAR.TEX ...

  3. sqlite 数据类型 全面

    http://blog.csdn.net/jin868/article/details/5961263 一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断.SQ ...

  4. sqlite java blob_【转】好东西!sqlite3中BLOB数据类型存储大对象运用示例

    1:常用接口 个人比较喜欢sqlite, 使用最方便,唯一的准备工作是下载250K的源:而且作者很热心,有问必答. 以下演示一下使用sqlite的步骤,先创建一个数据库,然后查询其中的内容.2个重要结 ...

  5. SQLite相关知识

    例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行 sqlite3_exec(db, "insert into name values 'lxkxf', '24'; " ...

  6. Android持久化存储(3)SQLite数据库的使用

    1.什么是SQlite SQLite是由C语言编写的一款轻型数据库,因占用资源小,处理速度快,功能齐全,特别适用于移动设备,最重要的是开源,任何人都可以使用它,许多开源项目(PHP,Python)和当 ...

  7. C++操作SQLite简明教程

    这篇文章主要介绍了C++操作SQLite简明教程,包含创建表.插入数据.查询数据等常用操作,需要的朋友可以参考下 SQLite是一款轻型的本地文件数据库,是遵守ACID的关联式数据库管理系统.它的设计 ...

  8. C# web项目中sql数据库转sqlite数据库

    最近做了一个小网站,用到了一个使用sql server 2005的.net cms系统,但是现在我所买虚拟主机的服务商,不给虚拟主机提供sql server服务了,那就转数据库吧,转啥好呢,思来想去, ...

  9. SQLite入门笔记

    先来一段客套话 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几 ...

最新文章

  1. 查看MS SQL Server数据库每个表占用的空间大小
  2. R语言gganimate包创建可视化gif动图:ggplot2可视化静态条形图(bar plot)、gganimate包创建动态条形图(bar plot)动画、基于transition_time函数
  3. 通过ajax调用WebService服务
  4. HDU Problem - 6396 Swordsman(优先队列,模拟)
  5. 2020年全国普通高校毕业生874万,同比增加40万人。我们该何去何从?
  6. 微软.Net Core 3.0 预览版7发布:大幅减少 SDK 空间大小
  7. Nginx的location配置详解
  8. 看看ConcurrentLinkedQueue源码 in Java 9
  9. jenkins集成钉钉
  10. RTMP协议封装H264格式详解
  11. 用c语言编写一个汇编编译器,【提问】最早的汇编语言编译器如何诞生?
  12. IETester——用来测试IE5.5~IE11兼容性的工具
  13. 【精简操作】Mathtype安装出现错误“53”/未找到.wll文件/选项卡灰色等问题
  14. Logistic逻辑回归预测员工离职问题
  15. java设置post超时时间_HttpClient 如何设置超时时间
  16. 新的深度学习优化器Ranger: RAdam + LookAhead的协同组合,两者兼得。
  17. 显示计算机工程系老师所教课程的成绩表.,sql查询
  18. Factory Track 7 链接 Infor CloudSuite Industrial 10 操作设置
  19. 关于Office 365 显示语言的设置(注册开通时的语言选择及注册开通后的语言显示修改)
  20. Python3.x爬虫下载网页图片

热门文章

  1. 真能一快遮百丑?为什么要弃坑 FastJson
  2. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?
  3. 面试被问烂的 Spring IOC(求求你别再问了)
  4. 5种数据同分布的检测方法!
  5. 最大民科组织被取缔,鸡蛋返生、推翻相对论、量子速读都是他们干的
  6. 《Python知识手册》,V3.0版来了,2021年,走起!
  7. 全网唯一秃头数据集:20 万张人像,网罗各类秃头
  8. 知乎13万赞!为何很多名校毕业生,都输在了人生后半程
  9. Numpy之N维数组-ndarray
  10. 医 系统 springboot搜索到的spring boot 的javaweb项目