MySQL 常见数据类型


数值型:
	整形 tinyint | smallint | mediumint | int、integer | bigint
	小数
		定点型 dec(m,d) | decinal(m,d)
		浮点型 float(m,d) | double(m,d)
字符型
	较短的文本 :char | varchar
	较长的文本 : text | blob (较长的二进制数据)		
日期型
	date | datetime | timestamp | time | year

一、整形

整形 tinyint | smallint | mediumint | int、integer | bigint

特点
1、如果不设置无符号还是有符号,默认是有符号,如果向设置无符号,需要添加unsigned关键字
2、如果插入的数值超数了整形的范围,会包 out od range 异常,并插入临界值
3、如果不设置长度,会有默认长度(显示结果的长度,如果输入的数据不够,会自动用0填充,
一般不显示出来,需要我们加上 zerofill关键字,且加上此关键字后,自动变为无符号)

1、如何设置有符号和无符号(unsigned)

CREATE TABLE tab_int(
	t1 INT,
	t2 INT UNSIGNED
);

CREATE TABLE tab_int(
	t1 INT(7),
	t2 INT(7) ZEROFILL
);

小数

分类:
定点型 dec(m,d) | decinal(m,d)
浮点型 float(m,d) | double(m,d)
特点:
1、M 整数部分+ 小数部分的长度
   D 小数部分的长度
   如果超过范围,则插入临界值
   
2、M和D都可以省略  
如果是decimal,(M,D)默认为(10,0)
如果是float和double,会根据插入的数值的精度来决定精度

3、定点型的精度较高,如果要求插入数值的精确度较高和货币运算等则考虑使用
   
   
原则:所选择的类型越简单越好,能保存数值的类型越小越好

cerate tab_float(
	f1 FLOAT(5,2),
	f2 DOUBLE(5,2),
	d3 DECIMAL(5,2)
);

三、字符型

分类:
较短的文本 :char(M) | varchar(M) | binary | varbinary | enum | set
较长的文本 : text | blob (较长的二进制数据)

特点:【面试题】
1、M:最多存放的字符数
   char 的 M 可以省略,默认为1
   varchar 的 M 不可以省略
2、char是静态的,固定长度的字符,效率高,耗费空间
   varchar是动态的,可变长度的字符,效率低,节省空间

四、日期型

特点
1、datetime 不受时区影响
   timestamp 受时区影响 

CREATE TABLE tab_date(
	t1 DATETIME,
	t2 TIMESTAMP
);

INSERT INTO tab_date VALUES(NOW(),NOW());
SELECT * FROM tab_date;
SHOW VARIABLES LIKE 'time_zone';
SET time_zone = '+9.00'

热门文章

编程学习 ·

中断、异常、系统调用的概念

系统调用是由应用程序发起的,意思是应用程序主动向操作系统发出服务请求。 异常是由不良的应用程序发起的,意思是非法指令或者其他坏的处理状态,比如内存出错。 中断是由外设发起的,它来自于不同硬件设备的计时器或者网络的中断。
编程学习 ·

718. 最长重复子数组

给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。目录1、题目分析2、解题分析3、代码示例 1:输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释: 长度最长的公共子数组是 [3, 2, 1]。1、题目分析求两个数组公共的子数组的长度,那么可以用较短的那个…
编程学习 ·

8080端口被占怎么办 ,解决方法

用后端springboot启动,8080端口 报错 8080 in use 打开 控制台 win+R 输入 cmd 进入后输入netstat -ano 肉眼能找到找就完事了如果找不到 输入netstat -aon|findstr “8080”找到最后一列的那个数字 “26252”, 就是PID 码 然后打开系统的 任务管理器 ,你要是任务管理器都不…
编程学习 ·

Pandas 删除指定行

定位要删除的行 需求:删除指定列中NaN所在行。如下图,’open‘ 列中有一行为NaN,定位到它,然后删除。定位:df[np.isnan(df[open])].index # 这样即可定位到所在行的index,然后对该index进行drop操作即可删除行 df.drop(df[np.isnan(df[open])].index, inplace=True)# 直接…
编程学习 ·

springboot aop 切到service层,不生效

今天发现一个问题,使用aop切到service层方法上,idea会有切成功的标志,编译也不报错,但就是不生效。研究了下发现,是因为我切的方法被同一个service中的其他方法调用,这样的话就不生效了,暂不清楚原因,解决方法时切到调用它的方法上,这只是切点不生效的一种情况,希望能…
编程学习 ·

【Hadoop篇08】Hadoop数据压缩

简洁而不简单Hadoop数据压缩 数据压缩优点和缺点 ​ 压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在 Hadoop下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。在这种情况下,IO操作和网络数据传输要…
编程学习 ·

XML DOM摘要四(XMLHttpRequest 对象)

什么是 XMLHttpRequest 对象?XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。XMLHttpRequest 对象是开发者的梦想,因为您能够:在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载后从服务器接收数据在后台向服务器发送数据 所有现…
编程学习 ·

windows 搭建es 集群 使用cerebro

1.2.一次修改三个节点下配置文件具体操作:主节点nodecluster.name: my-applicationnode.name: nodenode.master: truenode.attr.rack: r1network.host: 127.0.0.1http.port: 9200transport.tcp.port: 9300discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:…
编程学习 ·

Docker镜像管理透析

欢迎关注【无量测试之道】公众号,回复【领取资源】, Python编程学习资源干货、 Python+Appium框架APP的UI自动化、 Python+Selenium框架Web的UI自动化、 Python+Unittest框架API自动化、资源和代码 免费送啦~ 文章下方有公众号二维码,可直接微信扫一扫关注即可。1、docker,镜…
编程学习 ·

Python代码

hello world!!! import numpy as npfrom sklearn import linear_modelfrom mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as pltxx, yy = np.meshgrid(np.linspace(0,10,10), np.linspace(0,100,10)) zz = 1.0 * xx + 3.5 * yy + np.random.randint(0,100,…
编程学习 ·

MySQL创建新连接时,不能成功连接的问题

创建新连接后,用户名和密码都是对的,地址和端口也都是本地但还是会出现错误。比如:1、2003错误:2003 cannot connect to mysql一般是没有启动MySQL服务,在服务中找到MySQL80,启动之。2、1045错误:ERROR 1045 (28000): Access denied for user root@localhost (using pas…
编程学习 ·

手把手撸一个轮播图

轮播图HTML和CSSJS HTML和CSS <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>轮播图</titl…
编程学习 ·

AJAX

原生AJAX ajax概念:在不进行整个页面的更新的情况下,局部更新界面。 局部刷新技术 ajax 和请求数据有关 它的出现开始前后端分离 ajax出现之前 开发人员前端和后端都做 前后端分工 中间由ajax来对接 ajax就是异步的javascript和xml(树形结构文档 xhml—写法和html写法一…
编程学习 ·

机器学习 | 优秀Tensorflow开源项目汇总(上)

1、Open_model_zoo预先训练的深度学习模型和样本(高质量且快速)https://github.com/opencv/open_model_zoo2、Deep Learning In Productionhttps://github.com/ahkarami/Deep-Learning-in-Production3、AndroidtensorflowmachinelearningexampleAndroid TensorFlow机器学习示…
编程学习 ·

互联网行业VS传统行业,哪碗饭更香?

这些年,网络发展速度越来越快,通过网络赚钱的项目也越来越多。但是,如果你去对这些项目进行分类的话,其实这些项目大致也就分为几种,赚钱的方式也大致相同。这个时代给我们提供了很多网上赚钱的机会。老实说,现在赚钱不一定非要去公司或工厂工作,何况在公司或工厂工作的…
编程学习 ·

Prometheus监控Docker-Swarm集群(二)

Prometheus监控Docker Swarm集群(二)前面我讲解了对于Docker的一些监控知识以及Docker监控开源工具Weave Scope做了一个概述,以及简单安装。 同时也了解了Weave Scope的不足之处,而引出来了cAdvisor配合Prometheus来监控容器,本篇主要是针对Swarm集群的监控详细讲解;Swar…