简要描述一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型

字符型

  VARCHAR VS CHAR   VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符(?sql server中varchar类型最大长度可以到8000,oracle中可以到4000)。   假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。 现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。   当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。   VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要   但是VARCHAR型字段在读取得效率上却比不上CHAR,对于已经限定字符长度的字段来说用char则优于varchar,因为可以获得更快的读取速度。例如日期字段固定格式为yyyy-MM-dd型的字段,固定长度是10了,那么用CHAR则读取速度会更快。

文本型

  TEXT(Sql Server)   使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。   注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。   当你从HTML FORM的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不使用它。文本型字段既大且慢,滥用文本型字段会使 服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。   一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。

数值型

  SQL支持许多种不同的数值型数据。你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。   INT VS SMALLINT VS TINYINT   他们的区别只是字符长度:   INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数   SMALLINT 型数据可以存储从-32768到32768的整数   TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数   通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测一下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。   NUMERIC   为了能对字段所存放的数据有更多的控制,你可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据使你能表示非常大的数——比INT型数据要大得多。一个NUMERIC型字段可以存储从-1038到1038范围内的数。NUMERIC型数据还使你能表示有小数部分的数。例如,你可以在NUMERIC型字段中存储小数3.14。   当定义一个NUMERIC型字段时,你需要同时指定整数部分的大小和小数部分的大小。如:NUMERIC(23,0)   一个 NUMERIC型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零。   MONEY VS SMALLMONEY   你可以使用 INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。如果你希望你的网点能挣很多钱,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。   SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替MONEY型数据,以节省空间。

逻辑型

  BIT   如果你使用 复选框( CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。

日期型

  DATETIME VS SMALLDATETIME(Sql Server)   一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。DATETIME型的字段用8个字节存储日期时间值,而SMALLDATETIME型的字段只使用4个字节存储精确到1分钟的日期时间。   DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。

编辑本段安全问题

  由于 SQL 指令在部份进阶使用时,语法会依照特定条件来变换,而且若是表格中的字段过多时,许多开发人员都会习惯以字串组立的方式建立 SQL 指令,而且又使用系统管理员级的帐户连到数据库,因此让黑客有机会利用 SQL 的组立方式进行攻击,像是在指令中添加部份刺探性或破坏性的指令 (例如 DROP TABLE、DROP DATABASE 或是 DELETE * FROM myTable 等具破坏性的指令),让数据库的资料或实体服务器被破坏,导致服务中断或是系统瘫痪等后果,此种攻击手法称为SQL注入( SQL Injection)。目前实务上较有效的防御方法,就是全面改用 参数化查询,或是检查输入数据,过滤掉可能的危险指令或数据来防范。

SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型相关推荐

  1. SQL中的五种数据类型

    简要描述一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 字符型 VARCHAR VS CHAR VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要.他们都是用来储存字 ...

  2. mysql 存储文本数据类型_MYSQL中的五种数据类型

    MYSQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 字符型 VARCHAR VS CHAR VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要.他们都是用来储存字符串长度 ...

  3. lsdyna如何设置set中的node_list_Redis 系列教程(二)Redis中的五种数据类型

    上篇文章我们介绍了如何在Linux中安装Redis,本文我们来了解下Redis中的五种数据类型. 五大数据类型介绍 redis 中的数据都是以 key/value 的形式存储的,五大数据类型主要是指 ...

  4. Redis五种数据类型及应用场景

    Redis五种数据类型及应用场景 MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样 ...

  5. Redis常用的五种数据类型

    转载 [Redis]五种数据类型及其使用场景 https://blog.csdn.net/zzu_seu/article/details/106323114?spm=1001.2101.3001.66 ...

  6. Redis 五种数据类型

    Redis支持五种数据类型 String(字符串 Hash(哈希) List(列表) Set(集合) zset(sorted set:有序集合) 类型 简介 特性 场景 String(字符串) 二进制 ...

  7. redis五种数据类型的使用场景

    string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  8. 【redis-02】redis的五种数据类型和对应的操作方法,补充RedisUtil模板

    [redis-02]redis的五种数据类型和对应的操作方法,补充RedisUtil模板 [一]redis的五种数据类型 [二]String:字符串常用命令 (1)String基本信息 (2)Stri ...

  9. (转) 淘淘商城系列——Redis五种数据类型介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/72855562 Redis支持五种数据类型:string(字符串),hash(哈希),list( ...

最新文章

  1. Hadoop2.2.0+hive使用LZO压缩那些事
  2. 如何成为数据科学家_成为数据科学家需要了解什么
  3. java 抽象类 final_final/抽象类/interface
  4. 【课题总结】OpenCV 抠图项目实战(4)固定阈值抠图
  5. linux tuxedo查看服务进程数,tuxedo常用命令
  6. 复利思维,您做到了吗?
  7. 【随文杂想】超长图PS 切片为打印机 A4纸大小打印
  8. 【图像重建】基于Split Bregman实现稀疏图像重建附matlab代码
  9. win11硬盘分区如何合并 windows11硬盘分区合并的解决方法
  10. 团队协作软件之confluence和jira的配套使用
  11. 4K视频剪辑、特效合成、调色完美硬件配置方案2018
  12. 【数据结构与算法】期末复习刷题日寄Part01
  13. 基于PHP的网上商城
  14. iphone一键转移_苹果手机如何一键转移数据 转移教程介绍
  15. dbvisualizer pro导入导出数据
  16. ribbon服务列表和nacos服务列表不一致的问题
  17. 状态转移矩阵(status transition matrix )
  18. js图片上传功能前端
  19. 「Do.002」有道云笔记--好用但不安全
  20. 【平面设计基础】12:ACR调色

热门文章

  1. HTML+CSS中常见的几种居中方式
  2. Qt模仿QQ聊天窗口(四)
  3. Echarts3实例 双Y轴折线图
  4. python判断是不是三角形数_python:输入三个数判断是什么三角形
  5. ENSP模拟器防火墙增加内存
  6. 为什么需要webpack?
  7. 深富策略:指数低迷 果链逆势上涨
  8. 微信小程序分享页面标题出现乱码
  9. 建设智慧城市是提高我国综合竞争力的战略选择
  10. java有哪些语句_java循环语句有哪些