数据类型.

数据类型分类

数值类型

tinyint类型
  1. tinyint为例
  2. 所有数值类型默认都是有符号的,无符号的需要在后面加unsigned
  3. tinyint的范围在-128~127之间
  4. 无符号的范围在0~255之间(类比char)
create database test_db;
use test_db;

建表时一定要跟着写上属性

mysql> create table if not exists t1(-> num tinyint-> );
//查看
desc t1;
show tables;
show create table t1\G;

在这里插入图片描述

//无符号整数
mysql> create table if not exists t2(-> num tinyint unsigned-> );

在这里插入图片描述

注意:

  1. 尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下。
  2. 与其如此,还不如设计时,将int类型提升为bigint类型,根据自身使用场景,选择合适的数据类型即可。
  3. 如果我们向mysql特定的类型中插入不合法的数据,mysql一般都是直接拦截,不让我们做对应的操作,与C不同,C会截断再存储
  4. 反过来,如果我们有数据已经成功插入到mysql中,一定是合法得到
  5. 所以,mysql中,一般而言,数据类型本身就是一种约束,约束的是程序员
  6. 这保证了数据库中的数据是可预期的,完整的
  7. mysql表中建立属性列,列名称在前,类型在后
bit类型
bit[(M)] : 位字段类型。M表示每个值的位数,**范围从1到64**。如果M被忽略,默认为1
mysql> create table if not exists t3(-> id int,//一个bit位,只能插0或插1-> online bit(1)-> );

在这里插入图片描述

  1. online 是位类型,以ASCII码值显示,ASCII码是值,十六进制是显示方式
  2. 如果看不到,那么其显示方式是字符方式
  3. 若想让其显示出来,select id,hex(online) from t3;

在这里插入图片描述

验证为何是ASCII码值:

  1. 首先改变列的属性:alter table t3 modify online bit(10);
  2. 97换算成十六进制为61

在这里插入图片描述

浮点数类型

float,double,decimal

float
  1. float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节
  2. 小数:没特殊说明,表示有符号的数,float(4,2)表示的范围是-99.99 ~ 99.99
mysql> create table if not exists t4(-> id int,-> salary float(4,2)-> );

在这里插入图片描述

  1. MySQL在保存值时会进行四舍五入
    注意:例如:-99.999四舍五入后为-100.000数据不允许插入

在这里插入图片描述

  1. 如果定义的是float(4,2) unsigned 这时,因为把它指定为无符号的数,范围是 0 ~ 99.99
create table if not exists t5(id bigint, salary float(4,2) unsigned);

在这里插入图片描述

测试float:存在精度损失
float表示的精度大约是7位

alter table t5 modify salary float;
insert into t5 values (1,23456789.234526614);//ok
insert into t5 values (1,2349.234526);
insert into t5 values (1,23429.234526);
select * from t5;

在这里插入图片描述

decimal
decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数
  1. decimal(5,2) 表示的范围是 -999.99 ~ 999.99
  2. decimal(5,2) unsigned 表示的范围 0 ~999.99
  3. float和decimal相似,但是表示的精度不一样
  4. decimal的精度更准确,因此如果我们希望某个数据表示高精度,选择decima
mysql> create table if not exists t6(-> f1 float(10,8),-> f2 decimal(10,8)-> );

在这里插入图片描述

总结:
  1. float表示的精度大约是7位
  2. decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10
  3. 建议:如果希望小数的精度高,推荐使用decimal

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/61168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[极客大挑战 2019]HardSQL--详细解析

信息搜集 登录系统,有两个可能的注入点: 随便输一下看看传参类型: 都是GET型。 SQL注入 传参 usernameadmin’&password123 传参 usernameadmin&password123’ username和password传参,四种闭合方式只有单引号报错&a…

美国发布《联邦风险和授权管理计划 (FedRAMP) 路线图 (2024-2025)》

文章目录 前言一、战略目标实施背景2010年12月,《改革联邦信息技术管理的25点实施计划》2011年2月,《联邦云计算战略》2011年12月,《关于“云计算环境中的信息系统安全授权”的首席信息官备忘录》2022年12月,《FedRAMP 授权法案》…

【经典论文阅读】Transformer(多头注意力 编码器-解码器)

Transformer attention is all you need 摘要 完全舍弃循环 recurrence 和卷积 convolutions 只依赖于attention mechanisms 【1】Introduction 完全通过注意力机制,draw global dependencies between input and output 【2】Background 1:self-…

python+django自动化平台(一键执行sql) 前端vue-element展示

一、开发环境搭建和配置 pip install mysql-connector-pythonpip install PyMySQL二、django模块目录 dbOperations ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-313.pyc │ ├── admin.cpython-313.pyc │ ├── apps.cpython-313.pyc │ …

[高阶数据结构五] 图的遍历和最小生成树

1.前言 本篇文章是在认识图的基础上进行叙述的,如果你还不知道什么是图,图的存储结构。那么请你先阅读以下文章。 [高阶数据结构四] 初始图论-CSDN博客 本章重点: 本篇主要讲解及模拟实现图的遍历算法--DFS和BFS,以及最小生成树…

快速排序hoare版本和挖坑法(代码注释版)

hoare版本 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>// 交换函数 void Swap(int* p1, int* p2) {int tmp *p1;*p1 *p2;*p2 tmp; }// 打印数组 void _printf(int* a, int n) {for (int i 0; i < n; i) {printf("%d ", a[i]);}printf("…

ROS VSCode调试方法

VSCode 调试 Ros文档 1.编译参数设置 cd catkin_ws catkin_make -DCMAKE_BUILD_TYPEDebug2.vscode 调试插件安装 可在扩展中安装(Ctrl Shift X): 1.ROS 2.C/C 3.C Intelliense 4.Msg Language Support 5.Txt Syntax 3.导入已有或者新建ROS工作空间 3.1 导入工作…

Java 基础面试 题(Java Basic Interview Questions)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

【排序算法】之快速排序篇

思想&#xff1a; 分而治之&#xff0c;通过选定某一个元素作为基准值&#xff0c;将序列分为两部分&#xff0c;左边的序列小于基准值&#xff0c;右边的序列大于基准值&#xff0c; 然后再分别将左序列和右序列进行递归排序&#xff0c;直至每部分有序。 性质&#xff1a;这…

【数据结构】ArrayList与顺序表

ArrayList与顺序表 1.线性表2.顺序表2.1 接口的实现 3. ArrayList简介4. ArrayList使用4.2 ArrayList常见操作4.3 ArrayList的遍历4.4 ArrayList的扩容机制 5. ArrayList的具体使用5.1 杨辉三角5.2 简单的洗牌算法 6. ArrayList的问题及思考 【本节目标】 线性表顺序表ArrayLis…

基于RNNs+Attention的红点位置检测(pytorch)

文章目录 1 项目背景2 数据集3 思路3.1 一些小实验Ⅰ 多通道输入Ⅱ 位置编码Ⅲ 实验结果 3.2 AttentionⅠ Additive AttentionⅡ Dot-Product AttentionⅢ Scaled Dot-Product AttentionⅣ Multi-Head Attention (self-attention)Ⅴ Criss-Cross AttentionⅥ Result 4 代码 1 项…

RTSP摄像头、播放器为什么需要支持H.265?

H.264还是H.265&#xff1f; 好多开发者在做选RTSP播放器的时候&#xff0c;经常问我们的问题是&#xff0c;用H.264好还是H.265好&#xff1f;本文我们就H.264 和 H.265的主要区别和适用场景&#xff0c;做个大概的交流。 一、压缩效率 H.265 更高的压缩比 H.265 在相同视频…

Qt桌面应用开发 第八天(读写文件 文件编码 文件流)

目录 1.读文件 2.写文件及编码格式 2.1写文件 2.2编码格式 3.文件信息读取 4.文件流 4.1QTextStream 4.2QDataStream 1.读文件 需求&#xff1a;一个pushButton&#xff0c;点击之后可以选择一个txt文件的路径&#xff0c;路径会显示在lineEdit上&#xff0c;txt文件的…

chrome允许http网站打开摄像头和麦克风

第一步 chrome://flags/#unsafely-treat-insecure-origin-as-secure 第二步 填入网址&#xff0c;点击启用 第三步 重启 Chrome&#xff1a;设置完成后&#xff0c;点击页面底部的 “Relaunch” 按钮&#xff0c;重新启动 Chrome 浏览器&#xff0c;使更改生效。

IntelliJ IDEA(2024版) 的安装、配置与使用教程:常用配置、创建工程等操作(很详细,你想要的都在这里)

IDEA的安装、配置与使用&#xff1a; Ⅰ、IDEA 的安装&#xff1a;1、IDEA 的下载地址(官网)&#xff1a;2、IDEA 分为两个版本&#xff1a;旗舰版 (Ultimate) 和 社区版 (Community)其一、两个不同版本的安装文件&#xff1a;其二、两个不同版本的详细对比&#xff1a; 3、IDE…

AI前景分析展望——GPTo1 SoraAI

引言 人工智能&#xff08;AI&#xff09;领域的飞速发展已不仅仅局限于学术研究&#xff0c;它已渗透到各个行业&#xff0c;影响着从生产制造到创意产业的方方面面。在这场技术革新的浪潮中&#xff0c;一些领先的AI模型&#xff0c;像Sora和OpenAI的O1&#xff0c;凭借其强大…

基于SpringBoot实现的民宿管理系统(代码+论文)

&#x1f389;博主介绍&#xff1a;Java领域优质创作者&#xff0c;阿里云博客专家&#xff0c;计算机毕设实战导师。专注Java项目实战、毕设定制/协助 &#x1f4e2;主要服务内容&#xff1a;选题定题、开题报告、任务书、程序开发、项目定制、论文辅导 &#x1f496;精彩专栏…

ComfyUI | ComfyUI桌面版发布,支持winmac多平台体验,汉化共享等技巧!(内附安装包)

ComfyUI 桌面版正式推出&#xff0c;支持 Windows 与 macOS 等多平台&#xff0c;为 AI 绘画爱好者带来全新体验。其安装包便捷易用&#xff0c;开启了轻松上手之旅。汉化共享功能更是一大亮点&#xff0c;打破语言障碍&#xff0c;促进知识交流与传播。在操作上&#xff0c;它…

基于 Vue2.0 + Nest.js 全栈开发的后台应用

☘️ 项目简介 Vue2 Admin 是一个前端基于 Ant Design Pro 二次开发&#xff0c;后端基于 Nest.js 的全栈后台应用&#xff0c;适合学习全栈开发的同学参考学习。 &#x1f341; 前端技术栈&#xff1a; Vue2、Ant Design Vue、Vuex &#x1f341; 后端技术栈&#xff1a; Ne…

RabbitMQ 应用问题

文章目录 1. 幂等性保障什么是幂等性MQ 的幂等性如何处理消息重复的问题1. 全局唯一ID2. 业务逻辑判断 2. 顺序性保障什么是顺序性保障什么情况会打破RabbitMQ的顺序性顺序性保障方案 3. 消息积压什么是消息积压造成消息积压的原因解决消息积压的方案 结论 1. 幂等性保障 什么…