第二章 定义数据结构
SQL中最基本的数据类型 :字符串类型, 数值类型 ,日期和时间类型
字符串类型
1.定长数据类型
2.定长数据类型
不要使用定长数据类型来保存长度不定的数据,比如姓名。如果不恰当的使用定长数据类型,可能会导致浪费可用空间,以及影响对不同的数据进行精确比较。应该使用变长数据类型来保存长度不定的字符串,从而节省数据库空间
直义字符串:直义字符串就是一系列字符,比如姓名或电话号码,这都是由用户或程序明确指定的。
一般来说,字符型字符串需要使用单引号,而数值型不需要。
3.大对象类型
有些变长数据类型需要保存更长的数据,超过了一般情况下VARCHAR字段所保留的长度,比如现在常见的BLOB和TEXT数据类型。这些数据类型是专门用于保存大数据集的。BLOB是二进制大对象,它的数据是很长的二进制字符串(字节串)。适合在数据库里存储二进制媒体文件,比如图像和MP3。
TEXT数据类型是一种长字符串类型,可以被看作一个大VARCHAR字段,通常用于在数据库里保存大字符集,比如博客站点的HTML输入。在数据库里保存这种类型的数据可以 实现站点的动态更新。
数值类型
数值被保存在定义为某种数值类型的字段里,一般包括NUMBER,INTEGER,REAL,DECIMAL等
下面是SQL数值的标准:
BIT(n)BIT VARYING(n)DECIMAL(p,s)INTEGERSMALLINTBIGIINTFLOAT(p,s)DOUBLE PRECSION(p,s)REAL(s)p表示字段的最大长度 s表示小数点后的位数
1.小数类型
DECIMAL(p , s)DECIMAL(4 , 2) 最大的值就是99.99
2.整数
1
0
-1
99
-100
3.浮点数
浮点数是有效位数和标度都可变并且没有限制的小数数值
DECIMAL(p , s)DOUBLE PRECSION(p,s)
日期和时间类型
DATE
TIME
DATETIME (YEAR MONTH DAY HOUR MINUTE SECOND) //SECOND还可以再分解TIMESTAMP
NULL数据类型
布尔值
取值范围 TRUE FALSE和NULL
自定义类型
语句(CREATE TYPE)
域
域是能够被使用的有效数据类型的集合。域与数据相关联,从而只接受特定的数据。在域创建之后,我们可以想域添加约束,
约束和数据类型共同发挥左右,从而进一步限制字段能够接受的数据。与的使用类似于自定义类型。