MYSQL学习笔记——数据类型
mysql的数据类型可以分为三大类,分别是数值数据类型、字符串数据类型以及日期时间数据类型。
数值数据类型
数值类型又可以分为整型、浮点类型、Decimal。
整型
mysql的整型可以分为TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,下表给出了每个类型的存储空间大小和数值表示范围。
|
类型 |
字节 |
最小值 |
最大值 |
|
(带符号的/无符号的) |
(带符号的/无符号的) |
||
|
TINYINT |
1 |
-128 |
127 |
|
0 |
255 |
||
|
SMALLINT |
2 |
-32768 |
32767 |
|
0 |
65535 |
||
|
MEDIUMINT |
3 |
-8388608 |
8388607 |
|
0 |
16777215 |
||
|
INT |
4 |
-2147483648 |
2147483647 |
|
0 |
4294967295 |
||
|
BIGINT |
8 |
-9223372036854775808 |
9223372036854775807 |
|
0 |
18446744073709551615 |
浮点型
浮点型可以分为单精度(FLOAT)和双精度(DOUBLE),它们可以存储小数,但是存储的是近似值,并不保证精确度。可以使用FLOAT(M,D)或DOUBLE(M,D)来指定浮点数的精度,这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。
DECIMAL
DECIMAL和浮点数一样,可以用来存储小数,但是与浮点数的存储近似值不同,DECIMAL存储的是精确值,我们一样可用DECIMAL(M, D)来指定精度,这里的(M,D)同样表示该值一共显示M位整数,其中D位位于小数点后面。
浮点型 vs Decimal
虽然浮点型和Decimal都可以表示小数,但是Decimal可以精确表示,浮点型是近似表示,以下我们对这个不同举一个例子:

可以看到decimal可以精确地表示我们的插入值,但是float却无法精确表示。
字符串型
mysql支持定长字符串和变长字符串两种字符串类型,定长字符串用CHAR(M)表示,M 代表宽度, 0<=M<=255之间;变长字符串用VARCHAR(M)表示,M代表宽度, 0<=M<=65535。定长字符串的速度较变长字符串的速度更快,但是如果存储的字符串长短不一的话,使用定长字符串会造成空间浪费。
日期时间数据类型
mysql常用的日期时间数据类型有DATE、TIME、DATETIME三种类型,这三种类型的表示格式如下:
| 列类型 | 表示内容 |
| DATE | YYYY-MM-DD |
| TIME | hh:mm:ss |
| DATETIME |
YYYY-MM-DD hh:mm:ss |
MYSQL学习笔记——数据类型的更多相关文章
- MySQL学习笔记--数据类型
一.数据类型(内容参考<SQL学习指南>)不完整 1.文本类型 文本类型 最大字节数 tinytext 255 text 65535 varchar 65536 mediumtext 16 ...
- Mysql学习笔记(二)数据类型 补充
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- MySQL学习笔记-大纲
软件程序性能测试在之前<品味性能之道>系列中已经大量提到,讲解了很多测试方法.测试观念.测试思想等等.最近准备深入MySQL进行学习并总结.分别查阅<MySQL性能调优与架构设计&g ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
- 一千行MySQL学习笔记 (转)
出处: 一千行MySQL学习笔记 /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权 ...
随机推荐
- android中使用Application
在android开发过程中,我们可能存储一些全局的变量,最好在正在app的任何一个activity或者service中都可以访问到,这时我们可以使用application. 我们的一个应用就叫appl ...
- Socket网络通信编程(二)
1.Netty初步 2.HelloWorld 3.Netty核心技术之(TCP拆包和粘包问题) 4.Netty核心技术之(编解码技术) 5.Netty的UDP实现 6.Netty的WebSocket实 ...
- [CSP-S模拟测试]:序列(构造)
题目描述 给定$N,A,B$,构造一个长度为$N$的排列,使得:$\bullet$排列长度为$N$:$\bullet$最长上升子序列长度为$A$:$\bullet$最长下降子序列长度为$B$.我们有$ ...
- bootstrap动态调用select下拉框
html代码: <label for="classify" class="col-sm-2 control-label">填报部门:</lab ...
- 你还没搞懂this?
一.前言 this关键字是JavaScript中最复杂的机制之一.它是一个很特别的关键字,被自动定义在所有函数的作用域中.对于那些没有投入时间学习this机制的JavaScript开发者来说,this ...
- 20175214 《Java程序设计》第11周学习总结
20175214 <Java程序设计>第11周学习总结 本周学习任务总结 1.根据<java2实用教程>和蓝墨云学习视频学习第十三章: 2.尝试将课本重点内容用自己的话复述手打 ...
- 学习C#20天有感
自学C#有20多天了,期间出差去深圳一周,每天平均学习4小时左右,看书+视频,之前有点C语言基础(仅限于基础哈哈),计划30内把C#的基本语法和SQL的基本语法熟悉,把面向对象相对深入的理解一些,然后 ...
- Why Use the Widget Factory?
https://learn.jquery.com/jquery-ui/widget-factory/why-use-the-widget-factory/ Writing jQuery plugins ...
- set()运算
1 计算两个list的关系时,可转化为set进行运算. 参考:https://www.runoob.com/python3/python3-set.html a =[1,4,3,5,6,6,7,7,7 ...
- PHP上传文件到阿里云OSS,nginx代理访问
1. 阿里云OSS创建存储空间Bucket(读写权限为:公共读) 2. 拿到相关配置 accessKeyId:********* accessKeySecret:********* endpoint: ...