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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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只能反映出插入时的当地时区

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
机器学习/深度学习 存储 关系型数据库
MySQL数据库:常用数据类型
【2月更文挑战第7天】
15 0
|
2月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
24 0
|
2月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
30 0
|
2月前
|
存储 SQL 关系型数据库
MySql中有哪些数据类型(数据库学习——三)
MySql中有哪些数据类型(数据库学习——三)
29 1
|
2天前
|
关系型数据库 MySQL
Mysql基础第四天,Mysql数据类型
Mysql基础第四天,Mysql数据类型
16 0
Mysql基础第四天,Mysql数据类型
|
5天前
|
存储 关系型数据库 MySQL
|
6天前
|
关系型数据库 MySQL
MySQL学习笔记
MySQL学习笔记
|
10天前
|
安全 关系型数据库 MySQL
某教程学习笔记(一):09、MYSQL数据库漏洞
某教程学习笔记(一):09、MYSQL数据库漏洞
4 0
|
24天前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表4、数据库设计——1、数据类型
MySQL技能完整学习列表4、数据库设计——1、数据类型
10 0
|
1月前
|
存储 关系型数据库 MySQL
《高性能Mysql》学习笔记(二)
《高性能Mysql》学习笔记(二)
123 0