SQL入门经典(第5版)第二章 定义数据结构

本章的重点包括:
概述表的底层数据
简介基本的数据类型
使用不同类型的数据
展示不同数据类型之间的区别

2.1 数据是什么
数据是一个信息集合,以某种数据类型保存在数据库里。
数据类型用于指定特定列所包含数据的规则,它决定了数据保存在列里的方式,包括分配给列的宽度,以及值是否可以是字母、数字、日期和时间等。

2.2 基本数据类型
最基本的数据类型是:
字符串类型;
数值类型;
日期和时间类型;

2.2.1 定长字符串
SQL定长字符串的标准:CHARACTER(n) n是一个数字,定义了字段里能够保存的字符数量。

2.2.2 变长字符串
SQL变长字符串的标准:CHARACTER VARYING(n) n是一个数字,定义了字段里能够保存的最多字符数量。
常见的变长字符串数据类型有VARCHAR、VARINARY和VARCHAR2。
VARCHAR是ANSI标准,Microsoft SQL Server和MySQL也使用它;
VARINARY和VARCHAR2都是由Oracle使用的。

2.2.3 大对象类型
常见的有BLOB和TEXT数据类型。

BLOB是二进制大对象,它的数据是很长的二进制字符串(字节串)。BLOB适合在数据库里存储二进制媒体文件,比如图像和MP3。

TEXT数据类型是一种长字符串类型,可以被看作是一个大VARCHAR字段,通常用于在数据库里保存大字符集,比如博客站点的HTML输入。在数据库里面保存这类型的数据可以实现站点的动态更新。

2.2.4 数值类型
一般包括NUMBER、INTEGER、REAL、DECIMAL等
下面是SQL数值的标准:
BIT(n)
BIT VARYING(n)
DECIMAL(p,s)
INTEGER
SMALLINT
BIGINT
FLOAT(p,s)
DOUBLE PRECISION(p,s)
REAL(s)
p表示字段的最大长度
s表示小数点后面的位数

SQL实现中一个通用的数值类型是NUMERIC。

2.2.5 小数类型
p表示有效位数,s表示标度
DECIMAL(p,s)

2.2.6 整数
整数是不包含小数点的数值(包括正数和负数)。

2.2.7 浮点数
浮点数是有效位数和标度都可变并且没有限制的小数数值,任何有效位数和索菲亚都是可以的。
REAL代表单精度浮点数值 (有效位数1-21)
DOUBLE PRECISION表示双精度浮点数值。(有效位数22-53)

2.2.8 日期和时间类型
标准SQL支持DATETIME数据类型,它包括以下类型:
DATE
TIME
DATETIME
TIMESTAMP

DATETIME数据类型的元素包括:
YEAR
MONTH
DAY
HOUR
MINUTE
SECOND

2.2.9 直义字符串
直义字符串就是一系列字符。

2.2.10 NULL数据类型
两种用法
NULL (关键字NULL本身)
‘NULL’ 包含字符N-U-L-L直义字符串

在使用NULL数据类型时,需要明确它表示相应字段不是必须要输入数据的。如果某个字段必须包含数据,就把它设置为NOTNULL。只要字段有可能不包含数据,最好就把它设置为NULL。

2.2.11 布尔值
布尔值的取值范围是TRUE、FALSE和NULL,用于进行数据比较。

2.2.12 自定义类型
自定义类型是由用户定义的类型,它允许用户根据已有的数据类型来定制自己的数据类型,从而满足数据存储的需要。

2.2.13 域
域是能够被使用的有效数据类型的集合。域与数据相关联,从而只接受特定的数据。在域创建之后,我们可以向域添加约束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值