一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节。

通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型可以表示多大的十进制数!

打个比方,MYSQL中的int型数据类型,大家都知道int型可以表示4个字节,那就是32位二进制,32位二进制就能表示无符号十进制数0~4394967295.

所以我们给这个int数据类型赋值一个在0和4394967295之间的数就可以了,如果超出这个范围系统就会报错。

MYSQL数据类型分为几种:

一:整型

数据类型 (显示宽度)

整型类型 字节数 无符号数的取值范围 有符号数的取值范围
INT 4 0~4394967295 -2147483648~2147483647

一般INT型在我们平常用的时候就足够我们使用了,整型中还有一些不常用的:TINYINT(1),SMALLINT(2), MEDIUMINT(3),INTEGER(4),BIGINT(8).

二:浮点数和定点数

数据类型 (M, D)

整型类型 字节数 负数的取值范围 非负数的取值范围
FLOAT 4

-3.402823466E+38~

-1.175494351E-38

0和1.175494351E-38~

3.402823466E+38

M参数称为精度,表示数据总长度,不算小数点。

D参数称为标度,指小数点后面的长度。

其他的浮点型还有DOUBLE(8),定点型DECIMAL(M, D)或者DEC(M, D),由于MYSQL中的浮点型数据会出现误差,如果需要精确的话建议使用DEC定点型。

三:日期和时间类型

整型类型 字节数 取值范围 零值
DATETIME 8

1000-01-01 00:00:00~

9999-12-31 23:59:59

0000-00-00 00:00:00

表示日期时间一般都是用DATETIME类型,还有一些不常用的

YEAR(1): 只表示年份,范围1901~2155

DATE(4): 只表示年月日,范围1000-01-01~9999-12-31

TIME(3): 表示小时,分,秒。范围-838:59:59~838:59:59

TIMESTAMP(4): 格式和DATETIME一样,但是表示的范围要小。

四:字符串类型

字符串类型(M)

CHAR(M): 固定为M个字节长度存储字符串。

VARCHAR(M): 最长M个字节长度,实际长度为存入字符串的长度+1。

TEXT(M): 最长为65535字节,实际存储空间是存入字符串的长度+2。

ENUM('VALUE1','VALUE2',...): 枚举类型,范围只能是列表中的值,MYSQL存入的是列表中的序列号,如果插入的值不是列表中有的就会报错。列表中值最多65535个

SET('VALUE1','VALUE2',...): 和枚举类型差不多,但是列表中的值最多64个。

五:二进制类型

待续。。。

MYSQL数据库学习----MYSQL数据类型的更多相关文章

  1. MYSQL数据库学习----MYSQL函数

    MYSQL函数分为几种 数学函数 字符串函数 日期和时间函数 条件判断函数 系统信息函数 加密函数 格式化函数 一:数学函数 主要使用的几个数学函数 1 ABS()----绝对值函数 eg. SELE ...

  2. MySQL数据库学习: 01 —— 数据库的概述

    壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...

  3. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

  4. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  8. mysql数据库,当数据类型是float时,查询居然查询不出数据来

    mysql数据库,当数据类型是float时,查询居然查询不出数据来,类似如下: 以后mysql数据库不用float类型,而double类型可以查得出来.

  9. MySQL数据库学习----理论基础

    一:数据存储发展过程 1. 人工管理阶段 主要存储在纸带.磁带等介质中,手工记录,效率低下. 2. 文件系统阶段 存储在计算机磁盘中,以文件形式出现,数据管理变得简单,但是数据没有结构化处理,不易于查 ...

随机推荐

  1. LOJ#3083.「GXOI / GZOI2019」与或和_单调栈_拆位

    #3083. 「GXOI / GZOI2019」与或和 题目大意 给定一个\(N\times N\)的矩阵,求所有子矩阵的\(AND(\&)\)之和.\(OR(|)\)之和. 数据范围 \(1 ...

  2. T2597 团伙 codevs

    http://codevs.cn/problem/2597/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 1920年的芝加 ...

  3. linux 每天备份mysql数据

    原文:http://www.open-open.com/code/view/1433587311890 前言: 如果你的数据库文件较大,可能备份的时候需要占用很多服务器资源,所以站长要尽量选择访客最少 ...

  4. python学习笔记——递归算法

    阶乘 #递归计算阶乘 def factorial(n): if n == 1: return 1 return n*factorial(n-1) result = factorial(6) print ...

  5. ubuntu 添加和删除用户

    Without a home directory sudo useradd myuser With home directory sudo useradd -m myuser Then set the ...

  6. Our happy ending

    题目链接 题意: 输入n.k.L,n个数,最大值不超过L,在序列中取若干个数和能达到k的序列个数 n,k<=20 , 0<=L<=10^9 分析: 题目关键在于和k比較小,所以能够考 ...

  7. C#语法复习3

    第七章 类与继承 1.虽然派生类不能删除基类的的任何成员,但我们可以利用在派生类当中声明与基类成员名称相同的成员来屏蔽基类成员.这叫 覆盖. 一种是隐式屏蔽.一种是显式屏蔽.所谓 显式就是 加上一个n ...

  8. vs 总结

    1.可以通过 视图--->属性管理器 来直接配置opencv,一键搞定 2.按住shift键不放,然后移动方向键,可以选中一路数据点. 3.调试程序的利器,调用堆栈,可以定位到程序死的那一刻. ...

  9. Task C# 多线程和异步模型 TPL模型 【C#】43. TPL基础——Task初步 22 C# 第十八章 TPL 并行编程 TPL 和传统 .NET 异步编程一 Task.Delay() 和 Thread.Sleep() 区别

    Task C# 多线程和异步模型 TPL模型   Task,异步,多线程简单总结 1,如何把一个异步封装为Task异步 Task.Factory.FromAsync 对老的一些异步模型封装为Task ...

  10. 让Spring Boot启动更快

    关注公众号:锅外的大佬, 每日推送国外技术好文,帮助每位开发者更好成长 原文链接:https://dev.to/bufferings/lets-make-springboot-app-start-fa ...