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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS AI 助手,专业版
简介: 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只能反映出插入时的当地时区

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
431 6
|
存储 关系型数据库 MySQL
MySQL索引学习笔记
本文深入探讨了MySQL数据库中慢查询分析的关键概念和技术手段。
919 81
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
581 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
345 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
关系型数据库 MySQL 数据库
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
252 5
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
291 1
|
存储 关系型数据库 MySQL
MySQL支持多种数据类型
MySQL支持多种数据类型
390 4
|
存储 关系型数据库 MySQL
MySQL数据类型
MySQL数据类型
220 3
|
存储 关系型数据库 MySQL
什么是mysql的数据类型?
什么是mysql的数据类型?
251 2
|
存储 关系型数据库 MySQL

推荐镜像

更多