sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别

http://blog.sina.com.cn/s/blog_5da93c8f0102uxpj.html

分类: 数据库2012-08-01 10:13 3534人阅读 评论(0) 收藏 举报
sqlite数据库存储table

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。

SQLite最大的特点在于其数据类型为无数据类型(typelessness)。这意味着可以保存任何类型的数据到所想要保存的任何表的任何列中,无论这列声明的数据类型是什么。虽然在生成表结构的时候,要声明每个域的数据类型,但SQLite并不做任何检查。开发人员要靠自己的程序来控制输入与读出数据的类型。这里有一个例外,就是当主键为整型值时,如果要插入一个非整型值时会产生异常。

虽然,SQLite允许忽略数据类型,但是,仍然建议在Create Table语句中指定数据类型,因为数据类型有利于增强程序的可读性。另外,虽然在插入或读出数据的时候是不区分类型的,但在比较的时候,不同数据类型是有区别的。

sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别(转)相关推荐

  1. sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别

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

  2. SQL中char\varchar\text与nchar\nvarchar\ntext的区别

    SQL中char\varchar\text与nchar\nvarchar\ntext的区别 定义 特点 定义 char char(n)是长度不可变的,用于表示非Unicode字符数据.n代表该数据类型 ...

  3. SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总)

    SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总) 2008年10月14日 星期二 23:57 一.SQL中char varchar nchar nvar ...

  4. 数据库中char varchar nchar nvarchar的区别

    数据库中char varchar nchar nvarchar的区别 我们在进行数据库的设计的时候,很多情况下表中的字段都是用的是字符串类型的数据,其中就有四种选择char varchar nchar ...

  5. mysql char varchar text 对比

    检索效率 char > varchar > text 当varchar长度超过255之后,跟text一致,但是设置varchar(n)的话,可以防止恶意使用text撑爆数据库 类型名称 说 ...

  6. mysql varchar tinytext_mysql列类型char,varchar,text,tinytext,mediumtext,longtext的比较与选择...

    储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 – 1) 个字符. TEXT 最大长度是 65535 (2^16 – 1) 个字符. MEDIUMTEXT 最大长度是 16 ...

  7. mysql中char,varchar,text

    1.char char最大长度是255字符,注意是字符数和字符集没关系. 1)可以有默认值, 2)尾部有空格会被截断 3)不管汉字.英文,还是其他编码,都可以存255字符 2.varchar 1)va ...

  8. mysql中text格式化_mysql中char,varchar,text

    1.char char最大长度是255字符,注意是字符数和字符集没关系. 1)可以有默认值, 2)尾部有空格会被截断 3)不管汉字.英文,还是其他编码,都可以存255字符 2.varchar 1)va ...

  9. 数据库中char, varchar, nvarchar的差异

    1. char      固定长度,最长n个字符. 2. varchar      最大长度为n的可变字符串. (n为某一整数,不同数据库,最大长度n不同) char和varchar区别:       ...

  10. SQLServer 中的 char varchar、nchar、nvarchar

    一.char与varchar char(10) varchar(10) 写入"abc" char 损耗了硬盘10字节 = "abc"长度 + 7个空字符 var ...

最新文章

  1. Mallet Java【Windows下配置】(解决Ant安装可能会失败的解决方案)
  2. 程序员面试金典 - 面试题 16.10. 生存人数(自定义优先队列)
  3. 两篇讲述Skinned Mesh原理的文章
  4. ubuntu下caffe 安装记录(含GPU)
  5. JavaScript-数组相关作业
  6. Ant Design Pro引入Echarts 报错Unexpected token
  7. Vue-cli3项目案例
  8. 计算机拼音排序怎么操作,Excel如何按笔画和拼音进行排序,并且以下数字也会随之改变...
  9. 淘宝/天猫优惠券获取API 接口
  10. 会员功能竞品分析(一):唯品会、京东、苏宁易购
  11. Ledger Nano X初始化使用教程
  12. CNN神经网络猫狗分类经典案例,深度学习过程中间层激活特征图可视化
  13. 20年嵌入式工程师经验分享:从0开发一款嵌入式产品-道合顺大数据Infinigo
  14. 【复试英语】应对考官三招解决尴尬局面!
  15. 为什么千里马常有,而伯乐不常有
  16. mrcc srcc_mrcc – MapReduce上的分布式C编译器系统
  17. QQ引流怎么搞?怎么用QQ来引流?QQ引流的技巧
  18. Spring Cloud Alibaba操作手册
  19. 小程序使用分包整体大小可达到20M
  20. 【OpenCV学习】【8】绿幕抠图操作

热门文章

  1. screwing up
  2. Android中设置位移动画的停止
  3. Mybatis-学习笔记(3)mapper配置文件
  4. BZOJ 1977/洛谷P4180 - 次小生成树 Tree(严格次小生成树)
  5. wordpress搭建 ubuntu16.04 apache2 + php7.0 + mysql
  6. HDU 1257 最少拦截系统 简单DP
  7. 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
  8. 题目:[汪老师结婚]婚礼上的袭击
  9. c# 系列 - 基本知识
  10. PROTEL技术应用技巧总结