Mysql_4 数据类型

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 学习自b站骆昊jackfrued 老师的网课+黑马程序员网课。

学习自b站骆昊jackfrued 老师的网课+黑马程序员网课。
数据类型可以通过 ? data types 查看说明,每种数据类型也可以通过 ? 数据类型 查看。

除了data types 其他可以用?查看的内容可以输入 ? contents 查看。

数据类型 作用
整数 (tinyint, smallint, mediumint, int, bigint) 都是整数型,表示范围为1,2,3,4,8 B(结尾还可以加 unsigned)
字符串 (char(位数), varchar(位数), text) char 长度固定,varchar 长度可变
小数 (float, double, decimal(总位数, 小数点后位数)) 不要用 float, double!
时间日期 (year, date, time, datetime, timestamp) date:年月日
time:时间
datetime:年月日时分秒
timestamp:时间戳,现在距离 1970-1-1 的毫秒数
Mysql 中的枚举类型 (enum, boolean)

PS:

  1. 虽然 text 等类型可以存储很大的数据,不过大数据一般还是不会直接往数据库里存储。如图片,数据库中一般存储其路径、链接。如果非要存储,有 blob (binary large object)。
  2. 金额等小数一般不会用小数的数据类型存储,而是整数类型/100使用。因为小数形式有误差,比如0.1+0.2=0.30000000004.
  3. decimal 这种变长的数据,使用时速度比定长数据慢。而且 decimal 表示范围也有限,不如直接用 bigint。
  4. 时间戳是有表示范围的,毕竟是个有上限的数,到2038年左右就不好用了。

这里了解到了一个很有趣的“千年虫”问题 (漫画:什么是“千年虫”问题? - 知乎 (zhihu.com))。

Grace Murray Hopper,最早的现代编译器、商用编程语言发明者,Bug 和 Debug词汇的流行使用也与她有关。

早期计算机资源十分稀缺,内存空间必须精打细算。Grace Murray Hopper 采用6位数字组合来存储日期信息 (比如2022/04/19,就是22/04/19)

尽管节约了内存空间,但是40年后1999->2000年时,问题就出现了……对计算机来说,相当于99->00年,年份倒退了。小到银行存款利息变成负的,大到飞机、发电厂运作、核弹发射……都可能出现故障,后果不堪设想。

如果修改所有程序,是改不过来的。于是程序员们主要采取两种方法:

1.只修改核心关键的医疗、航空、金融、军事领域的程序;
2.对于大多数不那么核心的程序,采用时间窗口的方式。1910年代表2010年,1920年代表2020年,暂缓问题。在这20年期间,大多数程序设备都已更新换代,现如今千年虫问题已经不那么严重了。

回到刚才的话题,因此时间戳也并不推荐使用。

5.7 之后版本的 Mysql 支持 json 属性,以键值对的方式存储,内容相对灵活。因为虽然数据库结构相对严谨,但是很多时候并不是所有属性都能考虑得到(如二手交易平台,不同的售卖品属性差的很多,如自行车和冰箱)加入相对灵活的 json ,一定程度上就能解决这类问题。包括以前 Mysql 没有这个功能的时候,许多公司也会建一个 varchar() 字段来存储 json 字符

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL 数据库
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
34 5
|
6月前
|
存储 关系型数据库 MySQL
MySQL数据类型详解及实例应用
MySQL数据类型详解及实例应用
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库的数据类型、语法和高级查询
MySQL数据库的数据类型、语法和高级查询
72 0
|
1月前
|
存储 关系型数据库 MySQL
MySQL支持多种数据类型
MySQL支持多种数据类型
107 3
|
1月前
|
存储 关系型数据库 MySQL
什么是mysql的数据类型?
什么是mysql的数据类型?
47 2
|
1月前
|
存储 关系型数据库 MySQL
MySQL数据类型
MySQL数据类型
52 2
|
6月前
|
SQL 存储 关系型数据库
RDS for MySQL的SQL分类与数据类型
小明需在MySQL中管理商品信息,使用SQL完成业务操作。SQL分为DQL(查询)、DML(增删改)、DDL(定义)、DCL(权限控制)和TCL(事务)五大类。DDL用于创建、修改和删除数据库结构,DML处理数据,DCL控制权限,TCL管理事务,DQL则用于查询数据。MySQL有多种数据类型,如数值型(整数、小数)、日期型和字符串型等,选择合适的数据类型是高效开发的关键。
69 0
|
3月前
|
关系型数据库 MySQL Linux
数据类型和运算符(MySQL服务器的安装,MySQL客户端,数据类型,运算符,MySQL的语法规范)
无论是对于初学者还是有经验的开发者,了解MySQL的安装、客户端使用、数据类型、运算符和语法规范都是至关重要的。这不仅有助于高效地管理和查询数据,而且对于设计和实现数据库解决方案来说是基础工作。通过深入学习和实践这些知识,您可以更好地发挥MySQL数据库的强大功能。
34 2
|
3月前
|
存储 关系型数据库 MySQL
MySQL 中的 BLOB 数据类型深入解析
【8月更文挑战第31天】
449 0
|
3月前
|
存储 关系型数据库 MySQL
下一篇
无影云桌面