《SQL初学者指南(第2版)》——1.5 数据类型

1.5 数据类型

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

数据类型是定义一个列所能包含数据的类型的一种方法。要为每个表中的每一列都指定一个数据类型。遗憾的是,各种关系型数据库所允许的数据类型以及它们所代表的含义,有很大的不同。例如,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可能是一个邮政编码。乍看上去,它好像是一个数字类型,因为它只由数字组成。这种情形很常见。即便邮政编码只包含数字,但通常还是把它定义成字符数据类型,因为我们不需要对邮政编码进行算术运算。

日期/时间类型是用来表示日期和时间的。就像字符类型一样,日期/时间类型也需要用单引号括起来。这些数据类型允许对所涉及的日期进行特殊的运算。例如,我们可以使用一种特殊的方法,来计算任意两个日期之间的天数。如下是日期/时间类型的一些典型示例。

时间: 2024-09-29 05:50:29

《SQL初学者指南(第2版)》——1.5 数据类型的相关文章

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

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

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

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

《SQL初学者指南(第2版)》第1章 关系型数据库和SQL

第1章 关系型数据库和SQLSQL初学者指南(第2版)正如前言中所提到的,在与关系型数据库中的数据进行交互的时候,SQL是使用最广泛的软件工具.在这方面,SQL利用了自身的语言和逻辑两方面的要素.作为一种语言,SQL的独特语法用到了很多的英语单词,诸如WHERE.FROM和HAVING.作为一种逻辑表达,它指定了在关系型数据库中检索和修改数据的细节. 考虑到了这两方面因素,我们在本书中介绍SQL的各个方面的时候,尝试强调语言和逻辑这两部分.在所有语言中,无论它们是计算机语言还是口语,我们都需要学

《SQL初学者指南》——1.3 Microsoft SQL Server、Oracle和MySQL

1.3 Microsoft SQL Server.Oracle和MySQL SQL初学者指南尽管我的目标是介绍SQL的核心语言,因为它适用于所有的实现,但是我也会提供SQL语法的一些具体示例.因为各个厂商的语法各异,所以我决定重点关注如下这3种数据库所使用的SQL语法: Microsoft SQL Server:Oracle:MySQL.我会在本书的正文中介绍Microsoft SQL Server的语法.然后,如果这3种数据库之间有任何的差异,我会像下面这样,专门指出MySQL或Oracle的

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

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

《C语言编程——零基础初学者指南(第3版)》一第2章 编写第一个C程序2.1 概述

第2章 编写第一个C程序 C语言编程--零基础初学者指南(第3版)本章内容 编写第一个程序使用main()函数识别数据类型本章将教你如何编写第一个C程序!如果无法理解本章的所有内容,请不要着急.放轻松些,你的目标是先熟悉C程序.经过本章的学习,你要学会识别所有C程序的共同元素. 2.1 概述 C语言编程--零基础初学者指南(第3版)本节将介绍一个简短但完整的C程序,并讨论附录B中的另一个程序--"Draw Poker扑克游戏".这两个程序都包含一些共同和不同的元素.第一个程序相当简单:

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

1.7 数据类型 SQL初学者指南主键和外键为数据库表添加了结构.它们确保了数据库中所有的表都是可访问的,表之间有正确的关联.表中的每一列的另一个重要属性是数据类型. 数据类型是定义一个列所能包含数据的类型的一种方法.要为每个表中的每一列都指定一个数据类型.遗憾的是,各种关系型数据库所允许的数据类型和它们所代表的含义,有很大的不同.例如,Microsoft SQL Server.MySQL和Oracle,各自都有超过30种不同的可用数据类型. 即使只有3种数据库,我们都不可能去介绍每种可用的数据

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

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

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

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

《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是关系型数据库的一个图形化界面