MYSQL 中要在数据库中使用的数据类型

你在学习数据库管理器吗? 在这种情况下,您需要告知自己 MySQL中的数据类型, 世界上最好和最常用的之一。不要错过机会!

Mysql-2 中的数据类型

MySQL 中的数据类型

每次我们需要创建一个用于存储应用程序数据的表时,我们必须知道如何确定我们使用什么类型的数据来更好地存储我们需要存档的所有内容。 我们可以在以下三种数据中进行选择:数字数据、字符串(字母数字)以及日期和时间。

在 MYSQL 表的这些字段中,我们有可能在三种类型的内容之间进行选择,尽管看起来很明显,但要确定将数据发送到哪里,存储属于什么类型的组,这里我们有一个示例供自己使用在上下文中:是的,我们需要一个字段来存储一个人的年龄,那么它将是一个数字数据字段。

但在我继续解释之前,你知道 MySQL 是什么吗? 它被称为世界上使用最广泛的开源数据库管理器之一。 为了让我们了解它的流行程度,我们会告诉您:WordPress 是不同类型内容的管理器,自 2003 年以来就已经存在,大约 55% 到 60% 的网页存在,多亏了这一点,它使用 MySQL 作为数据库,所以这证明了它的有用性和它的范围。

MySQL属于甲骨文公司,2010年负责收购。这个管理器有多种用途,例如:练习、执行安装、修改网页、读取数据等。

该驱动程序可以轻松下载,并且根据您使用的 Windows 有多个版本,同样,安装它非常容易。

绝大多数数据库驱动程序都是通过编程语言使用的。 比方说,我们电脑上的信息在数据库中是可用的,但是当我们需要查看和管理它时,它使用了一种编程语言; 以 MySQL 为例,它伴随着 php,它被称为 Web 开发语言,与 WordPress 的开发相同。

我们假设为了速度,我们可以推荐下载 XAMPP 工具,该工具可用于各种版本的 Windows。 XAMPP 带有一系列组件,其中我们有:

  • Apache:这将是一个网络服务器。
  • PHP:Web 开发语言。
  • Fillezilla:他负责调动档案。
  • Mercury:是邮件服务器,目的是做测试。
  • MySQL:正如我们前面提到的,它是数据库服务器。

安装 XAMPP 后,您将可以享受所有这些组件,包括 MySQL,您可以直接启动并连接到图形界面,这就是为什么 XAMPP 除了具有其他组件之外非常有用。

清楚所有这些之后,我们想解释一下,在我们选择的用于存储数据的表类型以及数字数据字段中,我们还有其他类型,我们必须知道哪个是最好的,哪个是最好的。让我们有机会消耗更少的物理存储空间,并将给我们希望在该领域存储的数据的机会。 理解这些问题的唯一方法是 MySQL 为我们提供的不同类型的数据,下面我们将提供这些信息以了解每个组的最合适的用途。

我们邀请您在下面的视频中观看有关 MySQL 中数据类型的强化课程以及您需要了解的一切。不要错过学习机会!:

数值数据

我们可以在 MySQL 中发现一种类型的数据和另一种类型的数据之间的区别只是它可以包含的值的范围。 在数值数据中我们需要看到我们可以区分两个大的分支:整数和小数; 现在,我们想根据呈现给我们的情况和我们需要解释我们可以拥有的数值数据类型:

数字整数

在这一点上,我们要解释的第一件事是,我们必须存储此类数据的选项是年龄、数量和没有小数的大小。 我们还想举一个例子来更好地理解我们应该为每个字段选择什么类型的数据:

我们提供 TIN​​YINT,一种允许我们存储最大值 127 的数据类型。因此,如果我们需要为用户的年龄定义一个字段,这是我们可以使用的字段,因为正常的年龄范围在该数字内除非我们生活在圣经旧约时代,否则没有人在生物学上超过这个数字; 所以不,这种类型的数据不允许我们存储 567,例如,如果限制达到 128,则甚至不能存储 127。

现在,如果我们想为一个大市场的标识符定义一个字段来销售成千上万种不同的东西,这将呈指数级变化,显然 TINYINT 不再为我们服务,除此之外我们应该非常准确地知道物品的数量它销售,但不仅是我们目前拥有的,而且还试图对我们不久的将来做出预测,这样我们的存储系统就不会很快过时。

我们可以使用像 SMALLINT 这样的东西,它允许我们对多达 32,000 篇文章进行编号,但是如果我们更改示例并从市场移动到应该用于拥有 5 万用户的电话公司的客户表的 ID 字段,我们不能再有 SMALLINT,而是其他一些像 MEDIUMINT,我们继续,在我们公司有 200 亿客户的情况下,我们应该使用类型为 INT 的字段。 在变得反复无常并且想要定义一个字段来识别生活在地球上的每个人类的情况下,问题会发生变化,那么我们应该向 BIGNIT 字段寻求帮助,因为 INT 类型只允许最多两千不同的数据,这显然不会到达我们。

我们还想确认负值的存在,我们可以在想要保存游戏分数时找到负值,或者表格可以标记的零以下标记等。

无符号值

让我们这样看:负年龄根本没有任何意义。 如果有可能将每个数据的最大正值的限制加倍以消除该字段可以存储负值的可能性,我们将把存储的正限制加倍,并且通常允许存储值的 TINYINT 类型的字段127,现在可以让你存储从 0 到 255 的值。

我们如何定义一个没有符号的字段? 通过 UNSIGNED 修饰符,我们可以定义一个数字字段。 使用它,我们应该找到一个读取属性和 UNSIGNED 值的列,并且该字段不能再包含负值,从而将其存储容量加倍。

值得一提的是,当在列中定义一个字段时,我们会发现它是 Length,我们写了一个与我们刚刚选择的存储容量一致的数字,这一点很重要。 继续以年龄为例,如果我们使用 TINYNIT,我们必须将 XNUMX 作为长度,而不是更大或更小的数字。

带小数的数字

价格、工资、银行账户金额等,我们已经转移到带小数的数值,我们留下了整数,尽管这些数据类型被称为“浮点数”,因为逗号分隔了部分整数和小数部分,实际上在 MySQL 数据类型之间,它存储它们,用句点分隔它们; 从这里我们将拥有三种类型的数据:FLOAT、DOUBLE 和 DECIMAL。

FLOAT 将允许我们存储至少 -999.99 和最多 999.99 的值。 考虑到符号 - 不算数,而是将它们分开的点,即小数点,是的,这就是为什么它们总共是六位数,尽管我们注意到其中两个是小数; 但是我们有一个叫做简单精度范围的东西,它迫使我们使用 0 到 24 之间的十进制数量。

另一方面,DOUBLE 是精度的两倍,只允许在 25 到 23 之间定义小数位数。使用 FLOAT,这是简单的精度,可能会导致舍入问题和剩余小数位丢失。 有待解释的是 DECIMAL,它最适合存储需要较少长度但精度最高的货币值,并且没有四舍五入,这种类型的数据为其将存储的数字分配一个固定的宽度。 此类数据的最大总位数为 64,其中 30 位是允许的最大小数位数,足以存储价格、工资和货币。

小数点 1

字母数字数据

最后我们离开数值数据的类别进入一个新的类别。 这里我们将讨论存储字符串,以更好的方式解释它,在 MySQL 的数据类型中,我们有以下几种:CHAR、VARCHAR、BINARY、VARBINARY、TINYBLOB、TINYTEXT、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT, LONGBLOB、LONGTEXT、ENUM和SET,根据我们要存储的数据,每一种都有自己的特点和优势。

日期和时间数据

当涉及到 MYSQL 中的数据类型时,这将是我们的最后一个类别。 我们将看到我们有多种选项来存储引用的数据、日期和时间,查看一种和另一种之间的区别及其主要用途,这样我们将能够在每种情况下选择适当的数据类型。

日期

MySQL 中的这种类型的数据允许我们存储日期,其中前四位属于年份,接下来的两位属于月份,最后两位属于日期,尽管在西班牙语国家,我们习惯于先对日期进行排序按天计算,然后按月计算,然后按年计算,对于 MYSQL 则完全相反。

重要的是要知道,在读取 DATE 字段时,虽然它用破折号分隔年与月和月与日,但在插入此数据时,它允许我们连续执行所有操作,例如,我们可以看到它像this: 2018-06-04 并像这样插入它 20180604. DATE 允许我们处理的日期范围是 1000-01-01 到 9999-12-31。

除非我们与两千多年前发生的事件有关并且需要公开它,否则我们对这种格式不会有任何问题; 另一方面,着眼于未来,我们有更多机会,因为使用这种格式,我们几乎达到了 10,000 年。

日期时间

将字段定义为 DATETIME 将允许我们存储信息而不是日期,而是时刻,时间瞬间,除了日期,还有它的时间表,首先我们会有年,然后是月,然后是日,那么我们还有小时、分钟甚至秒,格式如下:

  • YYYY- MM- DD HH: MM: SS

日期部分的范围类似于 DATE 类型(10,000 年)的范围,即从 1000-01-01 到 9999-12-31。 时间表的一部分将是这样的:从 00:00:00 到 23:53:53。 完成的所有内容将如下所示:1000-01-01 00:00:00 到 9999-12-31 23:59:59。

时间

在这里,我们可以存储小时、分钟和秒,是的,前面的数据类型也是如此,但是对于 TIME,我们有一个允许的范围:-839: 59: 59 到 839: 59: 59; 这将在当前日期来回跨越大约 35 天。 这种类型的数据非常适合计算两个接近时刻之间的经过时间。

TIMESTAMP

这里我们有一个数据类型,它可能与 DATETIME 非常相似,但它的格式和范围不同,尽管它对于存储日期和时间仍然很有用。 有了这个格式的字段,可以给我们呈现三个选项,第一个是:YYYY-MM-DD HH:MM:SS,第二个是:YYYY-MM-DD,第三个更简单:YY-MM-DD .

在这里,我们有可能拥有 14、8 或 6 位数字的长度,这一切都取决于我们提供的信息。 这种格式既不像其他格式那样具有历史意义,也不像其他格式那样具有未来感,因为该字段处理的范围仅从 1970-01-01 到 2037 年。

此外,作为一个奇怪的事实,我们可以确定每次插入或更新记录时都会自动更新其值,这样我们将始终在此字段中保留上次更新该数据的日期和时间,即非常理想。无需编程即可控制。

如果我们想从 phpMyAdmin 定义它,我们所要做的就是在属性中选择“更新时”CURRENT_TIMESTAMP 的选项,并将其作为默认值 CURRENT_TIMESTAMP。 插入或修改记录时其值可以自动更新的字段。

如果我们必须看到需要将字段定义为 YEAR,我们可以使用两位和四位数字存储年份。 如果我们用两位数来计算,从 70 到 99(有从 70 到 99,我们会理解这些对应于 1970 到 1999 年的范围,如果我们有从 00 到 69 的数字,那么我们可以理解指的是 2000 年到 2069 年),在提供四位数的情况下,我们会发现可能的范围会扩大,然后从 1901 年到 2155 年。

我们还有一个额外的可能性,虽然与 MySQL 中的数据类型无关,但与日期和时间有关。 这种额外的可能性是使用 PHP 时间函数生成一个时间戳值(我们再次澄清,我们不再谈论 MYSQL,尽管由于名称非常相似而混淆是有效的)。

无论如何,我们可以将该值存储在一个 10 位的 INT 字段中,这样,对我们字段的值进行排序将非常简单(我们可以以新闻项目的日期为例),然后我们可以通过将该值时间戳转换为我们可以使用 PHP 自己的日期处理函数使其可读的内容来显示该日期。

日期时间-1

我希望通过这篇关于 MySQL 中的数据类型的文章,我们已经能够使我们想要解释的一切都足够清楚,并且您已经学会了根据我们所有的信息创建一个数据库和一个表,使用完全精确地定义它们的字段它们作为数据和属性的类型,因此,在能力或条件下,正确开始编程,现在清楚地知道我们将需要什么格式,根据我们的需要适合我们的需要必须编程。

我们邀请您阅读我们与编程相关的另一篇文章: 面向对象编程中的多态.


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:Actualidad Blog
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。