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

1.7 数据类型

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中的数字类型的一些典型示例。

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

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

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

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

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

时间: 2025-01-30 03:51:14

《SQL初学者指南》——1.7 数据类型的相关文章

《SQL初学者指南(第2版)》导读

前言 SQL初学者指南(第2版) SQL(Structured Query Language)是用于和关系数据库交互的主要语言.本书的目标是成为SQL语言的一本有用的入门指南. 本书的另一个假想的书名是The Logic of SQL(<SQL的逻辑>).这是因为,和所有的计算机语言一样,SQL语言和冷冰冰.硬邦邦的逻辑而不是和英语词汇更加相关.尽管如此,本书的书名中还是保留了Language(语言)这个词,这有几方面的原因. 1.首先,SQL中基于语言的语法和其他的计算机语言有所区别.和其他

《SQL初学者指南》——1.10 小结

1.10 小结 SQL初学者指南本章介绍了关系型数据库的背景知识,以便我们能继续学习主要的话题,这些话题涉及从数据库中检索数据.我们已经讨论过关系型数据库的一些重要的特性,诸如主键.外键和数据类型.我们还介绍了数据中可能存在的NULL值.我们会在第8章中进一步讨论空值,在第18章中,再回到数据库维护的一般性主题,并在第19章中介绍数据库设计. 为什么和数据库设计相关的所有重要的主题,都放在了本书后边去介绍?在现实世界中,先要设计和创建数据库,然后才能检索数据.为什么在本书中,我没有遵循相同的顺序

《SQL初学者指南》——第1章 关系型数据库和SQL

第1章 关系型数据库和SQL SQL初学者指南在本章中,我们将介绍一些背景知识,以便于你能够很快地上手,能在后续的章节中编写SQL语句.本章有两个主题.首先是对本书所涉及到的数据库做一个概述,并且介绍和这些数据库是如何与SQL语言相关的.我还将介绍本书的特点,这能让你快速地决定,针对你正在使用的数据库,应该采用什么样的SQL语法. 其次,我们将介绍关系型数据库的一些关键的设计特点,并且会介绍表.行.列.键以及数据类型.在掌握了这些基本信息后,你马上就可以工作了.事不宜迟,让我们开始吧. 本文仅用

《SQL初学者指南》——1.5 关系型数据库

1.5 关系型数据库 SQL初学者指南我们来了解一下关系型数据库的基础知识以及它们是如何工作的. 基本上,关系型数据库就是一个数据集合,它保存了许多个表.术语"关系(relational)"用来表示各表彼此相互关联.例如,我们来看数据库的一个简单示例,它只有两个表:Customers表和Orders表.Customers表为每位下订单的客户保存一条记录.Orders表针对每个订单保存一条记录.每个表可以包含任意多个字段,字段用来存储与每条记录相关的不同属性.例如,Customers表可

《SQL初学者指南》——1.8 空值

1.8 空值 SQL初学者指南 表中每个单独列的另一个重要属性是,该列是否允许包含空值.空值表示某个特定的数据元素没有数据.按照字面意思解释就是没包含数据.空值不等同于空格或空白.从逻辑上讲,空值和空格要区分对待.在第8章中,我们会详细介绍如何检索包含空值的数据. 许多SQL数据库在显示带有空值的数据时,使用大写的单词NULL来表示.这么做是要让用户能够识别它包含的是一个空值,而不是一个空格.我也会遵循这个惯例,在书中用NULL来强调它表示一个特殊类型的值. 数据库的主键不能包含NULL值.这是

《SQL初学者指南》——1.9 SQL的重要性

1.9 SQL的重要性 SQL初学者指南在我们离开关系型数据库的主题之前,为了让你对关系型数据库的优点和SQL的重要性有更深入的了解,我们来回顾一下历史. 回到计算机的石器时代(20世纪60年代),人们通常把数据保存在磁带上,或者保存在磁盘存储器上的文件中.使用诸如FORTRAN和COBOL这样的语言编写的计算机程序,通常通过输入文件进行读取,并且一次只处理一条记录,最终将数据移动到输出文件.过程必然是很复杂的,因为需要把过程分解成多个单独的步骤,涉及临时表.排序以及多次数据传递,直到能够生成正

《SQL初学者指南》——1.4 其他数据库

1.4 其他数据库 SQL初学者指南除了Microsoft SQL Server.Oracle和MySQL以外,还有很多其他的SQL数据库软件.一些比较流行的软件如下所示: Microsoft的Microsoft Access:IMB的DB2:IBM的Informix:Sybase的SQL Anywhere:开源数据库PostgreSQL.在列出的这些数据库中,Microsoft Access有一些特别,它对于那些想要学习SQL语言的新手特别有用.其实,Access是关系型数据库的一个图形化界面

《SQL初学者指南》——1.2 SQL的定义

1.2 SQL的定义 SQL初学者指南那么到底什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的数据的一种标准的计算机语言.简单来说,SQL就是能让用户和关系型数据库进行交互的一种语言.SQL语言有很长的发展历史,很多组织都对它的发展做出了贡献,它最早的历史可以追溯到20世纪70年代.1986年,美国国家标准局(American National Standards Institute,ANSI)发布了该语言的第一套标准,从那时起,它经历过多次的修订. 一般来讲,SQL语言有3个主要

《SQL初学者指南(第2版)》——第2章 基本数据检索

第2章 基本数据检索 SQL初学者指南(第2版)关键字:SELECT.FROM 在本章中,我们将介绍SQL中最重要的主题:如何从数据库中检索数据.无论是在大企业还是小企业,SQL开发人员最常遇到的需求就是报表需求.当然,把数据放入到数据库中也不是轻松的活儿.不过,一旦数据存在于数据库之中了,业务分析师的精力就转向可供他们使用的数据财富,以及希望从所有数据中获取有用的信息.SQL语言就有了用武之地. 本书所介绍的数据检索的重点,和现实世界中SQL开发人员所面临的需求密切相关.要帮助企业破解数据库的