返回顶部
首页 > 资讯 > 数据库 >中的数据类型概念
  • 292
分享到

中的数据类型概念

2024-04-02 19:04:59 292人浏览 泡泡鱼
摘要

中的数据类型概念?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!一、数据是什么?数据是一个信息集合,以某种数据类型保存在数据

中的数据类型概念?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

一、数据是什么?

数据是一个信息集合,以某种数据类型保存在数据库里。数据包括姓名、数字、货币、文本、图像、小数、计算、统计等,几乎涵盖能够想象到的任何东西。数据客户保存为大写、小写或大小写混合,数据可以被操作或修改,大多数数据在其生存周期内不会保持不变。

数据类型用于指定列所包含数据的规则,它决定了数据保存在列里的方式,包括分配给列的宽度,以及值是否可以是字母、数字、日期和时间等。任何数据或数据的组合都有对应的数据类型,这些数据类型用于存储像字母、数字、日期和时间、图像、二进制数据等。更详细地说,数据可以包括姓名、描述、数字、计算、图像、图像描述、文档等。

数据是数据库的意义所在,必须受到保护。数据的保护着就是数据库管理员(DBA),但是每个数据库用户也有责任采取必要手段来保护数据。

二、基本数据类型

数据类型是数据本身的特征,其特性被设置到表里的字段。举例来说,我们可以指定某个字段必须包含数字值,不允许输入由数字或字母组成的字符串;我们也不希望在保存货币数值的字段里输入字母。为数据库里每个字段定义数据类型可以大幅减少数据库里由于错误而产生的错误数据。字段定义(数据类型定义)是一种数据校验方式,通知了每个字段里可以输入的数据。

1.定长字符串。

定长字符串通常具有相同的长度,是使用定长数据类型保存的。下面是sql定长字符串的标准:

CHARACTER(n)

n是一个数字,定义了字段里能够保存的最多字符数量。

有些Sql实现使用CHAR数据类型来保存定长数据。字母可以保存到这种数据类型里。

在定长数据类型里,通常使用空格来补充数量不足的字符。如果字符长度是10,而输入的数据只有5位,那么剩余5位就会被记录为空格。填充空格确保了字段里每个值都具有相同的长度。

PS:不要使用定长数据类型来保存长度不定的数据,比如姓名,如果不恰当地使用定长数据类型,可能会导致浪费可用空间,以及影响对不同的数据进行精确比较。应该使用变长数据类型来保存长度不定的字符串,从而节省数据库空间。

2.变长字符串。

Sql支持变长字符串,也就是长度不固定的字符串。下面是Sql变长字符串的标准:

CHARACTER VARYING(n)

n是一个数字,表示字段里能够保存的最多字符数量。

常见的变长字符串数据类型有VARCHAR、VARINARY和VARCHAR2。VARCHAR是ANSI标准,Microsoft SQL ServerMysql也使用它;VARINARY和VARCHAR2都是由oracle使用的。定义为字符的字段里可以保存数字和字母,这意味着数据中可能包含数字字符。VARBINARY类似于VARCHAR和VARCHAR2,只是它包含的是长度不定的字节。这种数据类型通常被用来保存数字式数据,例如图像文件。

定长数据类型利用空格来填充字段里的空白,但变长字符串不这样做。举例来说,如果某个变长字段的长度定义为10,而输入的字符串长度为5,那么这个值的总长度也就是5,这时并不会使用空格来填充字段里的空白。

3.大对象类型。

有些变长数据类型需要保存更长的数据,超过了一般情况下为VARCHAR字段所保留的长度,比如现在常见的BLOB和TEXT数据类型。这些数据类型专门用于保存大数据集的。BLOB是二进制大对象,它的数据是很长的二进制字符串。BLOB适合在数据库里存储二进制媒体文件,比如图像和MP3.

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

4.数值类型。

数值被保存在定义为某种数值类型的字段里,一般包括NUMBER、INTERGER、REAL/DECIMAL等。

虾米是Sql数值的标准:

(1).BIT(n);

(2).BIT VARYING(n);

(3).DECIMAL(p,s);

(4).INTEGER;

(5).SMALLINT;

(6).SIGINT;

(7).FLOAT(p,s);

(8).DOUBLE PRECISioN(P,S);

(9).REAL(S);

P 表示字段的最大长度。s 表示小数点后面的位数。

Sql实现中一个通用的数值类型是NUMERIC,它符合ANSI标准。数值可以是0、正数、定点数和浮点数。下面是使用NUMERIC的一个范例:

NUMERIC(s),这个命令把字段能够接受的最大值限制为99 999.在本书范例所涉及的数据库实现总,NUMERIC都是以DECIMAL类型实现的。

5.小数类型。

小数类型是数值的总体长度。举例来说,在数值定义ZDECIMZAL(4,2)里,有效位数是4,也就是说数值总位数是4.标度是小数点后面的位数,在前例中是2。如果实际数值的小数位数超过了定义的位数,数值就会被四舍五入,比如34.33写入到定义为DECIMAL(3,1)的字段时,会被四舍五入34.3。

如果数值按照如下方式被定义,其最大值就是99.99:

DECIMAL(4,2)

有效位是4,表示数值的总体长度是4;标度是2,表示小数点后面保留2位。小数点本身并不算作一个字符。

定义为DECIMAL(4,2)的字段允许输入的数组包括:

(1).12

(2).12.4

(3).12.44

(4).12.449

最后一个值12.449在保存到字段时会四舍五入为12.45。在这种定义,任何12.45~12.499之间的数值会被四舍五入为12.45。

6.整数。

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

下面是一些有效的整数:

(1).1;

(2).0;

(3).-1;

(4).99;

(5).-99;

(6).199;

7.浮点数。

浮点数是有效位数和标度都可变并且没有限制的小数数值,任何有效位数和标度都是可以的。数据类型REAL代表单精度浮点数值,而DOUBLE PRECISION表示双精度浮点数值。单精度浮点数值的有效位数为1~21(包含),双精度浮点数值的有效位数为22~53(包含)。下面是一些FLOAT数据类型的范例:

(1).FLOAT;

(2).FLOAT(15);

(3).FLOAT(50);

8.日期和时间类型。

日期和时间数据类型很显然是用于保存日期和时间信息的。标准Sql支持DATETIME数据类型,它包含以下类型:

(1).DATE;

(2).TIME;

(3).DATETIME;

(4).TIMESTAMP;

DATETIME数据类型的元素包括:

(1).YEAR;

(2).MONTH;

(3).DAY;

(4).HOUR;

(5).SECOND;

ps:SECOND元素还可以再分解为几分之一秒,其范围是00.000~61.999,但并不是所有Sql实现都支持这个范围。多出来的1.999秒是用于实现闰秒的。
每种Sql实现可能都是具有自定义的数据类型来保存日期和时间。前面介绍的数据类型和元素是每个Sql厂商都应该遵守的标准,但大多数实现都具有自己的数据类型来保存日期值,其形式与实际存储方式有所不同。

日期数据一般不指定长度。稍后我们会更详细地介绍日期类型,包括日期信息在某些实现里的保存方式、如何使用转换函数操作日期和时间,并且用范例展示在实际工作中如何使用日期和时间。

9.直义字符串。

直义字符串就是一系列字符,比如姓名或电话号码,这是有用户或者程序明确指定的。直义字符串包含的数据与前面介绍的数据类型具有一样的属性,但字符串的值是已知的。列本身的值通常是不能确定的,因为每一列通常包含了字段在全部记录里的不同值。

实际上并不需要把字段指定为直义字符串数据类型,而是指定字符串。直义字符串的范例如下所示:

(1).'Hello';

(2).45000;

(3).'45000';

(4).3.14;

(5).'November 1 ,1997';

字符型的字符串由单引号包围,数值45000没有单引号包围,而第二个45000用双引号包围了。一般来说,字符型字符串需要使用单引号,而数值型不需要。

将一个数据类型成数值类型的过程过程术语隐式转换。在这个过程中,数据库会自动判断应该使用哪种数据类型。所以,如果一个数据没有使用单引号包围起来,那么Sql程序就会将其认定为数值类型。因此,必须要特别留意数据的形式。否则,存储结果可能会出现偏差,或者报错。稍后将介绍如何在数据库查询里使用直义字符串。

10.NULL数据类型。

NULL值表示没有值。NULL值在Sql里有广泛的应用,包括表的创建、查询的搜索条件,甚至是在直义字符串。

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

11.布尔值。

布尔值的取值范围是TRUE、FlASE和NULL,用于进行数据比较。举例来说,在查询中设置条件时,每个条件都会被求值,得到TRUE、FLASE或NULL。如果查询中所有条件的值都是TRUE,数据就会被返回;如果某个条件的值是FLASE或NULL,数据就不会返回。比如下面这个范例:

WHERE NAME =‘SMITH’

这可能是查询里的一个条件,目标表里每行数据都是根据这个条件进行求值。如果表里某行的NAME字段值是SMITH,条件的值就是TRUE,相应的记录就会被返回。

大多数数据库实现并没有一个严格意义上的BOOLEAN类型,而是代之以各自不同的实现方法。mysql用于BOOLEAN类型,但实质上与其现有的TINYINT类型相同。Oracle倾向于让用户使用一个CHAR(1)值来代替布尔值,而Sql Server则使用BIT来代替。

12.自定义类型。

自定义类型是由用户定义的类型,它允许用户根据已有的数据类型来定制自己的数据类型,从而满足数据存储的需要。自定义类型极大的丰富了数据存储的可能性,使开发人员在数据库程序开发过程中具有更大的灵活性。语句CREATE TYPE用于创建自定义类型。

举例来说,在MySql和Oracle中,可以像下面这样创建一个类型:

CREATE TYPE PERSON ASOBJECT

(NAME VARCHER (30),

SSN  VARCHAR(9);

)

然后可以像下面这样引用自定义类型:

CREATE TABLE EMP_PAY

(EMPLOYEE PERSON,

SALARY DECIMAL(10,2),

HIRE_DATE DATE);

表EMP_PAY第一列EMPLOYEE的类型是PERSON,这正是在前面创建的自定义类型。

13.域。

域是能够被使用的有效数据类型的集合。域与数据相关联,从而只接受特定的数据。在域创建之后,我们可以向域添加约束。约束与数据类型共同发挥作用,从而进一步限制字段能够接受的数据。域的使用类似于自定义类型。

像下面这样就可以创建域:

CREATE DOMaiN MONEY_D AS NUMBER(0,2);

像下面这样为域添加约束:

ALTER DOMAIN MONEy_D

ADD CONSTRAINT MONEY_CON

CHECK(VALUE>5);

然后像下面这样引用域:

CREATE TABLE EMP_PAY

(EMP_ID NUMBER(9),

EMP_NAME VARCHER2(30),

PAY_RATE MONEY_D);

三、小结

Sql具有多种数据类型,对于使用过其他编程语言的人来说,这些都不算陌生。数据类型允许不同类型的数据保存到数据库,比如单个字符、小数、日期和时间。无论是使用像c这样的第三代编程语言,还是使用关系型数据库实现Sql编码,数据类型的概念都是一样的。当然,不同实现中数据类型的名称坑你有所不同,但其工作方式基本上是一样的。另外,关系型数据库管理系统并不是一定要实现,ANSI标准里规定的全部数据类型才会被认为是与ANSI兼容的,因此最好查看具体的文档来了解尅使用的数据类型。

在考虑数据类型、长度、标度和精度时,一定要仔细地进行短期和长远的规划。另外,公司制度和希望用户以什么方式访问数据也是要考虑的因素。开发人员应该了解数据的本质。以及数据在数据库里是如何相互关联的,从而使用恰当的数据类型。

感谢各位的阅读!看完上述内容,你们对中的数据类型概念大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 中的数据类型概念

本文链接: https://lsjlt.com/news/51084.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 中的数据类型概念
    中的数据类型概念?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!一、数据是什么?数据是一个信息集合,以某种数据类型保存在数据...
    99+
    2024-04-02
  • JavaScript 数据类型:从概念到应用
    基本数据类型 String:表示文本数据。 Number:表示数值数据(整数或浮点数)。 Boolean:表示真值或假值(true/false)。 Null:表示空值。 Undefined:表示变量未赋值或函数未返回任何值。 BigIn...
    99+
    2024-04-02
  • SQL Server数据库、表、数据类型基本概念
    一、SQL Server的数据存储结构 SQL Server是一个数据库管理系统,需要以有效方式存储高容量数据。要更好地理解SQL Server处理数据的方式,就需要了解数据的存储结构。 1、文件类型 数据...
    99+
    2024-04-02
  • Redis学习笔记(一)概念、数据类型、键
    全称 REmote DIctionary Server 官方定义 Redis是一个开源(BSD许可),内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件 ...
    99+
    2024-04-02
  • JavaScript 数据类型:深入研究高级概念
    JavaScript中的对象类型允许存储和组织相关数据。对象本质上是键值对的集合,其中键是字符串,而值可以是任何类型的数据。对象提供了一种对复杂数据进行建模的强大方法,使其成为Web开发和许多其他应用程序中的关键类型。 数组类型 数组是J...
    99+
    2024-04-02
  • Python基础数据类型中tuple元组的概念和用法
    本篇内容主要讲解“Python基础数据类型中tuple元组的概念和用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python基础数据类型中tuple元组的概念和用法”吧!目录元组简单介绍声明...
    99+
    2023-06-20
  • 数据类型是Python、Laravel和Spring中最重要的概念吗?
    随着计算机技术的不断发展,数据处理已经成为了各种应用程序开发的核心。而不同的编程语言和框架对于数据类型的处理方式也有所不同,Python、Laravel和Spring作为三个不同的技术体系,在数据类型方面的处理也有着各自的特点。 那么,数...
    99+
    2023-09-19
    数据类型 laravel spring
  • 数据库中数据模型概念指的是什么
    这篇文章主要介绍了数据库中数据模型概念指的是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。数据库中数据模型的概念是:数据模型是数据特征的抽象...
    99+
    2024-04-02
  • 和解析Java虚拟机概念及数据类型
    今天就跟大家聊聊有关和解析Java虚拟机概念及数据类型,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。你对Java虚拟机的概念是否熟悉,这里向大家描述一下,Java虚拟机是一个想象中的...
    99+
    2023-06-17
  • 数据类型是Go语言中的重要概念,你了解吗?
    作为一门现代化的编程语言,Go语言在设计之初就考虑到了数据类型的重要性。在Go语言中,数据类型是指变量可以存储的数据的类型。每个数据类型都有自己的特点和用途,掌握好数据类型可以让我们更好地编写高质量的代码。本文将为大家详细介绍Go语言中的...
    99+
    2023-08-05
    对象 接口 数据类型
  • Python基础数据类型tuple元组的概念与用法
    目录元组简单介绍 声明元组 元组与列表的区别 特殊的元组 元组的简写 元组常见运算操作 索引 [ ] 取值 切片 [ : : ] 取值 运算符 + 运算符 * 关键字 in 常见函数...
    99+
    2024-04-02
  • 数据类型和接口的概念在 Java 框架中的实际应用。
    在 Java 框架中,数据类型和接口是非常重要的概念,它们的正确使用可以大大提升程序的效率和可读性。下面我们就来探讨一下这两个概念在 Java 框架中的实际应用。 一、数据类型在 Java 框架中的实际应用 Java 是一种强类型语言,因此...
    99+
    2023-10-13
    框架 数据类型 接口
  • Java泛型的概念和Type类型体系
    本篇内容主要讲解“Java泛型的概念和Type类型体系”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java泛型的概念和Type类型体系”吧! 1 JAVA的Type类型体系先了解下j...
    99+
    2023-06-16
  • 数据类型是Python和Laravel中的重要概念,你了解它们吗?
    在程序设计中,数据类型是非常重要的概念。它定义了数据的种类和在计算机中所占用的内存空间。Python和Laravel是两个流行的编程语言,它们都有自己的数据类型系统。在本文中,我们将探讨Python和Laravel中的数据类型,包括它们的...
    99+
    2023-10-02
    laravel load 数据类型
  • JavaScript类型概念及使用的方法
    这篇文章主要介绍“JavaScript类型概念及使用的方法”,在日常操作中,相信很多人在JavaScript类型概念及使用的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • C#枚举类型的概念及应用
    这篇文章主要讲解了“C#枚举类型的概念及应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#枚举类型的概念及应用”吧!C#枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一...
    99+
    2023-06-17
  • C++字符串类型的基本概念
    这篇文章主要讲解了“C++字符串类型的基本概念”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++字符串类型的基本概念”吧!要使用C++字符串类型中的string 类型必须先包含相关的头文件...
    99+
    2023-06-17
  • Python数据类型概述:深入了解Python的数据类型
    Python基本数据类型简介:探索Python的数据类型,需要具体代码示例 Python是一种高级编程语言,它提供了丰富的数据类型,使得程序员可以更轻松地处理各种数据。在本文中,我们将探索Python中的几种基本数据类型,并提供...
    99+
    2024-01-20
    基本数据类型 Python简介
  • 数据库关系模型的概念是什么
    数据库关系模型是一种用于描述和组织数据库中数据的概念模型。它基于数学关系理论,主要用于定义数据之间的逻辑关系,以及数据的组织和操作方...
    99+
    2023-10-10
    数据库
  • C++非类型类模板参数的基本概念是什么
    C++非类型类模板参数的基本概念是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C++编程语言已经出现就立即引起了开发人员的注意,它具有C语言的所用功能,并...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作