服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 深入了解mysql的4种常用、重要的数据类型

深入了解mysql的4种常用、重要的数据类型

2020-03-25 15:39MYSQL教程网 Mysql

对于在开发大型电子商务网站时,如果碰到有限的硬件和系统环境情况下,合理的数据库表结构的设计是必不可少的

为了实现这一目标,它需要我们在数据库系统的常用数据类型有充分的认识。

下面我们来看一下mysql的重要数据类型

1、数值类型可以划分为数值类型:整型,浮点十进制类型。

所谓的“十进制”是指decimal和numeric,他们是同一类型的。严格地说,它不是一个数字类型,因为他们实际上是作为字符串存储,每一个数字值(包括小数点)占一个字节的存储空间,所以这种类型的消耗大量的存储空间,但它的优点是它的价值不会失去做浮点数计算精度,它更适合一些计算精度要求高,如价格计算。浮动取决于不同精度的类型可以是float或double。它们的优点是小数的精度,FLOAT可以表示非常小的值,可以是最小的值约1.17E-38(0.000 … 0117,小数点后的37零),双重可以表达更小的数,最小的数可以约2.22E-308(0.000 … 0222,小数点以及后跟307个零)的小数。float和double分别为4字节和8字节的存储空间。

对于整型,在MySQL中有很多不同类型的整数,在设计数据库表,我们可以有一个字节TINYINT或8字节BIGINT等,所以我们应该把过多考虑哪个类型来使用,以获得最小的存储空间,而不会失去任何准确性值。

TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT 1字节,2字节,3字节,4字节和8字节。对于无符号整数,这些类型能表示的最大整数是分别255,65535,16777215,4294967295 18446744073709551615。如果我们需要保存用户的年龄,TINYINT就够了;如果是自增的ID,我们应该使用MEDIUMINT而不是INT,INT还 是太大了。很多数据表并不会达到MEDIUMINT的范围

2、日期时间输入的日期和时间类型比较简单

如DATE,TIME,DATETIME,TIMESTAMP和YEAR。如果我们只需要关心的日期,但没有分秒我们应该使用Date,而不是DATETIME,但DATETIME是其中最常用的,一切按实际需要设计

3、字符类型不要以为字符类型仅仅是CHAR

CHAR和VARCHAR的区别是,CHAR是固定长度。如果你定义一个字段CHAR(10),那么无论多少字节的数据,这将需要10个字节的空间;对于18位的身份证号码,则应该使用Char(18),

VARCHAR是可变长度的,如果我们有一个字段的值有不同的长度,那么我们应该使用VARCHAR 。

4、枚举和集合类型枚举(ENUM)类型

最多可以定义到65,535种不同的字符串从中做出选择。

这可能需要取决于有多少个值在枚举类型中的一个或两个字节。集合(SET)类型,最多可以有64个不同的成员,你可以选择零个或多个成员,集合成员的数量决定。例如,在SQLServer中,你可以使用BIT类型来表示性别(男/女),但MySQL中,BIT在不同版本数据库中取值有差异,而使用TINTINT有时浪费的,你可以用ENUM('男','女'),这样可以节约很大空间

延伸 · 阅读

精彩推荐
  • MysqlMySQL 数据备份与还原的示例代码

    MySQL 数据备份与还原的示例代码

    这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    逆心2972019-06-23
  • MysqlMySQL锁的知识点总结

    MySQL锁的知识点总结

    在本篇文章里小编给大家整理了关于MySQL锁的知识点总结以及实例内容,需要的朋友们学习下。...

    别人放弃我坚持吖4362020-12-14
  • Mysql详解MySQL中的分组查询与连接查询语句

    详解MySQL中的分组查询与连接查询语句

    这篇文章主要介绍了MySQL中的分组查询与连接查询语句,同时还介绍了一些统计函数的用法,需要的朋友可以参考下 ...

    GALAXY_ZMY5442020-06-03
  • Mysql浅谈mysql 树形结构表设计与优化

    浅谈mysql 树形结构表设计与优化

    在诸多的管理类,办公类等系统中,树形结构展示随处可见,本文主要介绍了mysql 树形结构表设计与优化,具有一定的参考价值,感兴趣的小伙伴们可以参...

    小码农叔叔5242021-11-16
  • Mysql解决MySQl查询不区分大小写的方法讲解

    解决MySQl查询不区分大小写的方法讲解

    今天小编就为大家分享一篇关于解决MySQl查询不区分大小写的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    Veir_dev5592019-06-25
  • Mysqlmysql 不能插入中文问题

    mysql 不能插入中文问题

    当向mysql5.5插入中文时,会出现类似错误 ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column ...

    MYSQL教程网5722019-11-25
  • MysqlERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event(): read error, data_len: 438, event_type: 2 ...

    MYSQL教程网6412020-03-13
  • MysqlMySQL数据库varchar的限制规则说明

    MySQL数据库varchar的限制规则说明

    本文我们主要介绍了MySQL数据库中varchar的限制规则,并以一个实际的例子对限制规则进行了说明,希望能够对您有所帮助。 ...

    mysql技术网4192019-11-23