SQL 中的五种数据类型
简要描述一下 中的五种数据类型字符型,文本型,数值型,逻辑型和日期型
字符型 VARCHAR VS CHAR
VARCHAR 型和 CHAR 型数据的这个差别是细微的,但是非常重要。他们都是用来储
存字符串长度小于 255 的字符。
假如你向一个长度为四十个字符的 VARCHAR 型字段中输入数据 BIll GAtES。当你以
后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串 Bill Gates 的长
度。 现在假如你把字符串输入一个长度为四十个字符的 CHAR 型字段中,那么当你取出数
据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用 VARCHAR 型字段要比 CHAR 型字段方便的多。
使用 VARCHAR 型字段时,你不需要为剪掉你数据中多余的空格而操心。
VARCHAR 型字段的另一个突出的好处是它可以比 CHAR 型字段占用更少的内存和硬
盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要
但是 VARCHAR 型字段在读取得效率上却比不上 CHAR,对于已经限定字符长度的字
段来说用 char 则优于 varchar,因为可以获得更快得读取速度。例如日期字段固定格式为
yyyy-MM-dd 型得字段,固定长度是 10 了,那么用 CHAR 则读取速度会更快。
文本型 TEXT
使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,
应该使用文本型数据。
注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段
中的数据通常要么为空,要么很大。
当你从 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 的整数