MySql常见的数据类型
⒈整型
| 名称 | 字节数 |
| tinyint | 1 |
| smallint | 2 |
| mediumint | 3 |
| int/integer | 4 |
| bigint | 8 |
特点:
1.如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字。
2.如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值
3.如果不设置整型的长度,会有默认的长度,但此长度并非为该类型存储的长度,而是代表了显示的最大宽度,即宽度不够会用0在左边填充,但必须搭配zerofill使用,zerofill将会使整型变为无符号形,即为正数。
⒉小数
1.浮点型
①float(M,D)
②double(M,D)
2.定点型
①dec(M,D)
②decimal(M,D)
特点:
1.M:整数部位+小数部位总位数
D:小数部位占用的位数
如果超出范围,则插入临界值
2.M和D都可以省略
如果是decimal,则M默认是为10,D默认为0
如果是float或double,则会根据插入数值的精度来决定精度
3.定点型的精确度较高,如果要求插入数值的精度较高(如货币运算等)则考虑使用。
数据类型的选用原则:所选择的类型越简单越好,能保存数值的类型越小越好。
⒊字符型
1.较短的文本
①char
②varchar
2.较长的文本
①text
②blob(较大的二进制)
特点:
| 类型 | 写法 | M的意思 | 特点 | 空间 | 效率 |
| char | char(M) | 最大字符数,可省略,默认为1 | 固定长度的字符 | 比较耗费 | 高 |
| varchar | varchar(M) | 最大字符数,不可省略 | 可变长度的字符 | 比较节省 | 低 |
*binary和varbinary类型
和char及varchar类似,但仅保存较短的二进制字符串(长的用blob)
enum用于保存枚举
set用于保存指定数据的集合
⒋日期型
分类
| 类型 | 说明 |
| date | 只保存日期 |
| time | 只保存时间 |
| year | 只保存年份 |
| datetime | 保存日期+时间 |
| timestamp | 保存日期+时间 |
特点:
| 类型 | 字节 | 范围 | 时区等影响 |
| datetime | 8 | 1000-9999 | 不受 |
| timestamp | 4 | 1970-2038 | 受 |
MySql常见的数据类型的更多相关文章
- MySQL常见的数据类型(八)
不多说,直接上干货! MySQL常见的数据类型 一.数据类型是什么? 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 有一些数据是要存储为数字 ...
- (七)MySQL常见的数据类型、约束和标识列
一.MySQL常见数据类型 1.数值型: ①整型:tinyint.smllint.mediumint.int/integer.bigint 图源:尚硅谷李玉婷 案例1:关键表格teacher,分别添加 ...
- mysql 常见数据类型
---恢复内容开始--- MySQL常见的数据类型 一.数据类型是什么? 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 有一些数据是要存储为 ...
- MySQL系列--3.数据类型和连接查询
1.存储引擎 数据创建,查询,更新和删除操作都是通过数据引擎来进行的.不同的存储引擎存储限制不同,支持不同的索引机制等. 查询数据库支持的存储引擎 MySQL 5.7.2支持的存储引擎有:InnoDB ...
- Mysql 常见数据类型及约束
Mysql 常见数据类型及约束 最近在跟几个不太懂技术的同事(哈哈, 其实我也不懂), 要整一个数据库项目, 然后前端, 后端, 都没有像样的, 数据输出还不是由我们控制.... 这可难受了, 然后总 ...
- mysql常见数据类型
#常见的数据类型 /* 数值型: 整型 小数: 定点数 浮点数 字符型: 较短的文本:char.varchar 较长的文本:text.blob(较长的二进制数据) 日期型: */ #一.整型 /* 分 ...
- 高性能MySql进化论(一):数据类型的优化_上
在数据库的性能调优的过程中会涉及到很多的知识,包括字段的属性设置是否合适,索引的建立是否恰当,表结构涉及是否合理,数据库/操作系统 的设置是否正确…..其中每个topic可能都是一个领域. 在我看来, ...
- [转]MySQL中timestamp数据类型的特点
原文地址:https://www.imooc.com/article/16158 在使用MySQL数据库时有很多常见的误解,其中使用int类型来保存日期数据会提高数据读取的效率就是比较常见的一个误解. ...
- mysql 和 Oracle 数据类型对照
MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...
随机推荐
- bzoj3122 [SDOI2013]随机数生成器
bzoj3122 [SDOI2013]随机数生成器 给定一个递推式, \(X_i=(aX_{i-1}+b)\mod P\) 求满足 \(X_k=t\) 的最小整数解,无解输出 \(-1\) \(0\l ...
- stm32之不定长接收
使用STM32CUBE_MAX配置工程,可以简化编程工作量,但是这样我们会遇到一些麻烦,比如利用串口接收不知道长度的数据的时候,我们可能会无从下手,前段时间看到他人程序中的串口不定长接收,此次特意总结 ...
- 美团--Quake全链路压测平台
原文:连接: https://tech.meituan.com/2018/09/27/quake-introduction.html 开源分布式监控Cat: https://github.com/di ...
- TypeError: argument to reversed() must be a sequence ERROR basehttp 124 "GET /admin/ HTTP/1.1" 500 114103 Performing system checks...
Error Msg TypeError: argument to reversed() must be a sequence ERROR basehttp 124 "GET /admin/ ...
- gorose使用示例
package main import ( "fmt" "github.com/gohouse/gorose" //import Gorose _ " ...
- 微信公众号开发 [05] 微信支付功能开发(网页JSAPI调用)
1.微信支付的流程 如下三张手机截图,我们在微信网页端看到的支付,表面上看到的是 "点击支付按钮 - 弹出支付框 - 支付成功后出现提示页面",实际上的核心处理过程是: 点击支付按 ...
- 使用VMware安装Ubuntu虚拟机,创建后开启显示黑屏的解决方法
将使用的VMware-workstation-full-14.0.0.24051卸载改为使用VMware-workstation_full_12.1.1.6932. 安装VMware成功后,创建新的虚 ...
- __init__和__new__的区别
根据官方文档: __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值. __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法. 也 ...
- Docker Toolbox替换默认docker machine的存储位置
使用Docker Toolbox是因为它不用打开windows的hyper-v组件,这样可以和VMware workstation一起使用. 关于如何迁移可参考:https://www.cnblogs ...
- 多线程之:MESI-CPU缓存一致性协议
MESI(Modified Exclusive Shared Or Invalid)(也称为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议,该协议被应用 ...