天天看点

《SQL初学者指南》——1.7 数据类型

本节书摘来自异步社区出版社《sql初学者指南》一书中的第1章,第1.7节,作者: 【美】larry rockoff,更多章节内容可以访问云栖社区“异步社区”公众号查看。

sql初学者指南

主键和外键为数据库表添加了结构。它们确保了数据库中所有的表都是可访问的,表之间有正确的关联。表中的每一列的另一个重要属性是数据类型。

数据类型是定义一个列所能包含数据的类型的一种方法。要为每个表中的每一列都指定一个数据类型。遗憾的是,各种关系型数据库所允许的数据类型和它们所代表的含义,有很大的不同。例如,microsoft sql server、mysql和oracle,各自都有超过30种不同的可用数据类型。

即使只有3种数据库,我们都不可能去介绍每种可用的数据类型的细节及细微差别。但是,我所要做的,是通过讨论大部分数据库中常用的数据类型的主要类别,来概括这种情况。一旦了解了这些类别中的重要的数据类型,当遇到其他可能的数据类型时,也都可以迎刃而解。

一般来讲,有3种重要的数据类型:数字(numeric)、字符(character)以及日期/时间(date/time)。

数字数据类型有很多种,包括位(bit)、整数(integer)、浮点数(decimal)和实数(real number)。bit是数字类型,它只允许有两个值,0和1。bit也经常用来定义只有true和false值的一个属性。integer是没有小数点的数字。decimal可以包含小数点。与bit、integer和decimal不同,实数的精确值只能是内部近似地定义。所有数字类型的一个共同的显著特征,就是它们都能用于算术运算中。如下是microsoft sql server、mysql和oracle中的数字类型的一些典型示例。

《SQL初学者指南》——1.7 数据类型

有时把字符类型称作string或character string类型。和数字类型不同,字符类型不再限定为数字。它们可以包括任意的字母、数字,甚至可以包括星号这样的特殊字符。当在sql语句中为字符类型提供一个值时,总是需要使用单引号把这个值括起来。相比之下,数字类型就从不使用引号。如下是字符类型的一些典型示例。

《SQL初学者指南》——1.7 数据类型

在第2个例子中,60601看上去应该是一个数字类型,因为它是由数字组成的。这种情形并不常见。即便zip编码只包含数字,但通常还是把它定义成字符数据类型,因为不需要对它进行算术运算。

日期/时间类型是用来表示日期和时间的。就像字符类型一样,日期/时间类型也需要用单引号括起来。

这些数据类型允许对所涉及的日期进行特殊的运算。例如,我们可以使用一种特殊的方法,来计算任意两个日期之间的天数。如下是日期/时间类型的一些典型示例。

《SQL初学者指南》——1.7 数据类型

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。