Mysql学习笔记17——数据类型

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Mysql学习篇

细枝末节

   1. 类型选择原则:越简单越小越好

   

分类

1. 整型

       1) tinyint       1字节

       2) smallint      2字节

       3) mediumint     3字节

       4) int/integer   4字节

       5) bigint        8字节

2. 小数

       1) 定点型

               1.DECIMAL(M,D)/DEC(M,D)   M+2字节

       2) 浮点型

               1.float(M,D)    4字节

               2.double(M,D)   8字节

3. 字符型

       1) 较短文本:char,varchar

       2) 较长文本:text,blob(较长的二进制数据)

4. 日期型

整型

备注

1. 默认设置有符号,设置无符号要添加unsigned

2. 如果插入值超出类型范围,会报out of range错误,并且将插入值改为临界值

3. 不设置长度,会有默认长度;设置长度,位数不够时在左边补0,要搭配zerofill使用

4. 使用zerofill默认为无符号

示例

CREATETABLE int_test(

   /* int类型 */

   t1 int,

   /* 无符号int类型 */

   t2 int undesigned,

   /* 显示长度为5的int类型,位数不够时左边用0填充 */

   t3 int(5) zerofill

);

小数

分类

1. 浮点型

       1) float(M,D)

       2) double(M,D)

2. 定点型

       DEC(M,D)/DECIMAL(M,D)

备注

1. M:整数部分+小数部分的位数

2. D:小数部分位数

3. 超过范围,则插入临界值

4. M和D都可以省略,省略时float和double根据数值精度决定;decimal默认M为10,D为0

5. 定点型精度高,一般用于高精度如货币运算

字符型

分类

1.短文本

   1) char(M)

   2) varchar(M)

   其他:

       binaryvarbinary用于保存较短的二进制

       enum用于保存枚举

       set用于保存集合

2. 长文本

   1) text

   2) blob

备注

1. M:该字段的值最长字符数

2. char表示固定长度字符,存在内存浪费,效率高,M可省略默认为1

3. vachar表示可变长度字符,节省内存,效率低,M不可省略

日期型

分类

1.date,只有日期

2.time,只有时间

3.year,只有年份

4. datetime,date+time

5. datestamp,

备注

1. timestamp范围:19700101080001~2038年某个时间

2. datetime范围:1000-1-1~9999-12-31

3. timestamp受时区和MySQL版本影响

4. datetime只能反映出插入时的当地时区

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
122 6
|
1月前
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
51 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
1月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
69 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
1月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
61 1
|
1月前
|
关系型数据库 MySQL 数据库
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
34 5
|
1月前
|
存储 关系型数据库 MySQL
MySQL支持多种数据类型
MySQL支持多种数据类型
98 3
|
1月前
|
存储 关系型数据库 MySQL
什么是mysql的数据类型?
什么是mysql的数据类型?
47 2
|
1月前
|
存储 关系型数据库 MySQL
MySQL数据类型
MySQL数据类型
52 2
|
3月前
|
存储 关系型数据库 MySQL
MySQL 中的 BLOB 数据类型深入解析
【8月更文挑战第31天】
424 0
|
3月前
|
存储 关系型数据库 MySQL