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 密码 /* 跳过权 ...
随机推荐
- (3.2)狄泰软件学院C++课程学习剖析三
对课程前面40课的详细回顾分析(一) 0. int main() { // ① Array t(3,3); //普通模式 // ② Array *t=new Array(3,3); //指针方式 // ...
- 20180912-Java实例02
Java 实例 – 删除字符串中的一个字符 以下实例中我们通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中. // Main.j ...
- 使用JLDAP操作LDAP,包含匿名连接、ldif导入导出、获取根节点、对数据的操作、LDAP错误码解析等
bean类 package com.cn.ccc.ggg.ldap.model; import javax.persistence.Entity; import javax.persistence.T ...
- 图论——图的邻接表实现——Java语言(完整demo)
1.图的简单实现方法——邻接矩阵 表示图的一种简单的方法是使用一个一维数组和一个二维数组,称为领接矩阵(adjacent matrix)表示法. 对于每条边(u,v),置A[u,v]等于true:否则 ...
- JQuery ajax 滚动底部加载更多
<%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <%@ ...
- windows 10中使用命令行关掉占用指定端口的程序
通过netstat -ano与findstr命令结合查询到带有9080端口的监听信息,图中最后一列为监听程序的PID 通过tasklist命令与findstr命令结合查询到指定PID对应的应用程序 使 ...
- Swagger入门教程(转)
[译]5.41 Swagger tutorial 单击此处查看原文 更多概念参见:Implementing Swagger with your API docs 关于 Swagger Swagger能 ...
- JMeter Gui – TestElement约定(转自约会言行的博客,链接:http://blog.csdn.net/yue530tomtom/article/details/77649872?locationNum=4&fps=1)
在编写任何JMeter组件时,必须注意某些特定的约定——如果JMeter环境中正确地运行JMeter组件,那么它将会运行.本部分描述了组件的GUI部分必须满足的约定. JMeter中的GUI代码严格地 ...
- POI向Excel中写入数据及追加数据
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import ...
- TensorFlow学习笔记6-数值计算基础
TensorFlow学习笔记6-数值计算 本笔记内容为"数值计算的基础知识".内容主要参考<Deep Learning>中文版. \(X\)表示训练集的矩阵,其大小为m ...