MySQL数值

news2024/12/23 18:48:45

1.整数类型

TINYINT:非常小的整数,存储空间为1字节,

                   取值范围:有符号:-128---127,无符号:0---255

SMALLINT:小整数,存储空间为2字节

                    取值范围:有符号:-32768---32767,无符号:0---65535

MEDIUMINT:中型大小的整数,存储空间为3字节

                     取值范围:有符号:-2^23---2^23-1,无符号:0---2^24-1

INT:一般大小的整数,存储空间为4个字节

                      取值范围:以此类推

BIGINT:很大的整数,存储空间为8字节

                      取值范围:以此类推

设置时,id INT(6),6指的是显示宽度,是指定最大显示的数字个数,如果在数据表中插入了大于显示宽度,但是并没有超过整数类型数值范围的数据,依然可以正确的插入。

id INT(6) ZEROFILL :如果插入的数值不到6位则可用0填充

2.浮点数类型

FLOAT:单精度浮点数,4个字节

DOUBLE:双精度浮点数,8个字节

MySQL会四舍五入

price FLOAT(M,D)——(M,D)表示当前数值包含整数位和小数位一共会显示M位数字。其中小数点后会显示D位数字,M称为精度,D称为标度。

3.定点数类型

DECIMAL:该类型设置时可以使用(M,D),M被称为精度,是数据的总位数,D被称为标度,表示数据的小数部分所占的位数,所占用的存储空间为M+2个字节,用于存储精确小数,其精度和范围都比浮点数大,((int)x^2+(int)y^2)返回值的类型就为定点数。

Joe 需要使用下列表做一项数值计算

点击进入MySQL实战练习环境。

show databases; 列出所有数据库
show tables; 列出所有表
create table points(
    id int primary key auto_increment,
    x int,
    y int
);

计算查询为:

select id, (x^2 + y^2)/2 as result from points;

得到的结果集中,result 列的类型应该是:decimal

解析:其实在数值计算中,我们需要考虑到数值的精度和溢出问题,不同的数据类型有不同的精度和取值范围,因此需要根据实际情况选择合适的数据类型。在这个习题中,我们需要计算平方和的一半,结果可能会出现小数,因此选择了decimal数据类型来保证精度。而对于(X)*y/(X)+-Y,因为乘法和除法的优先级高于加法和减法,所以会先计算(X)*y/(X),这个结果就是y,然后再加上或减去Y,最终结果是2Y或0,所以可以选择int数据类型来存储。

4.日期与时间类型

YEAR:通常用来表示年,格式YYYY或YY,最小值1901,最大值为2155;

        YY最小值为00,最大值为99,01-69时表示2001到2069;70-99时表示1970到1999,不推荐使用

DATE:通常用来表示年,月,日,格式YYYY-MM-DD

        使用CURRENT_DATE()或者NOW()函数,会插入当前系统的日期

INSERT INTO goods

VALUES(CURRENT_DATE()),(NOW());

TIME:通常用来表示时,分,秒,格式HH:MM:SS

        使用CURRENT_TIME()或者NOW()会插入当前时间

DATETIME:通常用来表示年,月,日,时,分,秒,格式YYYY-MM-DD HH:MM:SS

        使用CURRENT_TIME()或者NOW()会插入系统时间

TIMESTAMP:通常用来表示带时区的年,月,日,时,分,秒,格式YYYY-MM-DD HH:MM:SS UTC(时区,UTC只是一种)

        存储数据的时候需要对当前时间所在的时区进行转换,查询数据的时候再将时间转换回当前的时区。因此,使用TIMESTAMP存储的同一个时间值,在不同的时区查询时会显示不同的时间。缺点是表示的日期时间范围比较小,并且只有插入时反映当地的时区,其他时区的人查看会有误差。

更改时区:SET time_zone='时区'

5.文本和字符串类型

字符串类型可以存储文本字符串数据,也可以存储一些图片,音频和视频数据,也就是二进制数据。

CHAR:CHAR(M)值的长度为M,占用M个字节,最大长度是255个字符

        字段长度固定,不保留数据尾部的空格,不适合尾部有空格的字符串

VERCHAR:VERCHAR(M)值的长度为M,占用M+1个字节,最大长度是65535个字符

        字段长度可变,保留数据尾部的空格

上述两个可以设置默认值

TINYTEXT:值的长度为L,占用L+2个字节

TEXT:L+2个字节,最大长度是4294967295个字节

MEDIUMTEXT:L+3个字节

LONGTEXT:L+4个字节

上述所有TEXT都可保留尾部空格,但是不能指定长度,

ENUM:1或2个字节,枚举类型,

例如

CREATE TABLE goods(

e ENUM ('A','B','C')

);

表明e列的取值只能为A,B,C

SET:1,2,3,4或8个字节,表示一个字符串对象,可以包含0个或多个成员,但成员个数的上限为64

CREATE TABLE goods(

e SET ('A','B','C'));

与ENUM不同的是,e列的取值可以'A'也可以是'A,B',但是不可以重复,如插入'A,B,A',则表中结果为'A,B'

JSON:JSON是字典类型,

CREATE TABLE goods(

e JSON);

INSERT INTO goods (e) VALUES ('{"name":"mary","age":"18"}');

6.二进制字符串类型

BIT:可设置长度,每个值最小位数为1,最大位数为64

        直接用SELECT * FROM goods;命令无法直接查看二进制数据,使用SELECT BIN(b+0) FROM goods;【b是字段名】,显示二进制结果;若使用SELECT b+0 FROM goods;命令查询则输出十进制结果;

BINARY:可设置长度,定长,若输入值未达到指定长度则会在数据后面填充“\0”字符

VERBINARY:可设置长度,可变长度

TINYBLOB

BLOB

MEDIUMBLOB

LONGBLOB

BLOB四种类型可以存储一个二进制的大对象,比如图片,音频和视频等,但是一般不直接存储在MySQL中,一般存储在服务器的磁盘上,然后在MySQL中存储访问路径。

 

 

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

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

相关文章

岩土工程振动在线监测:以道路桥梁基础为例

岩土工程振动在线监测:以道路桥梁基础为例 使用振弦传感器、采集仪和在线监测系统进行岩土工程监测:以道路桥梁基础振动监测为例 一个应用振弦传感器、振弦采集仪和在线监测系统构成的岩土工程监测案例是道路桥梁基础的振动监测。 在道路桥梁基础的振动…

力扣 455. 分发饼干

题目来源&#xff1a;https://leetcode.cn/problems/assign-cookies/description/ C题解1&#xff1a;将大饼干优先大胃口的孩子。 class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.…

代码随想录二刷 day50 | 动态规划 之 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

day50 123.买卖股票的最佳时机III1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组 188.买卖股票的最佳时机IV1.确定dp数组以及下标的含义2.确定递推公式4.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组 123.买卖股票的最佳时机I…

java.lang.UnsatisfiedLinkError: no opencv_java410 in java.library.path

-Djava.library.pathhome/zwf/eclipse-workspace/DIPS_YTPC/lib/opencv-410/x64/

Element el-table 列表自定义样式

效果图 页面代码块 <el-tableref"multipleTable":data"tableData"tooltip-effect"dark"style"width: 100%"selection-change"handleSelectionChange"><el-table-columntype"selection"width"55&qu…

设计模式【行为型】-- 模板方法模式

模板方法模式&#xff08;Template method pattern&#xff09; 模板方法模式是一种行为型设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;将一些步骤的具体实现延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下&#xff0c;重新定义算法中的某些步…

hydra详解(仅供学习参考)

一、概述。 Hydra是一款非常强大的渗透工具&#xff0c;由著名的黑客组织THC开发的一款开源工具。 二、使用方法。 hybra基础语法&#xff1a; hydra 参数 IP 服务 参数&#xff1a; -l login 小写&#xff0c;指定用户名进行破解 -L file 大写&#xff0c;指定用户的用户名…

uniapp uni实人认证

uni实人认证依赖 目前仅支持App平台。 h5端活体人脸检测&#xff0c;使用的是百度云的h5人脸实名认证 使用要求 1、app端 在使用前&#xff0c;请确保您已注册DCloud账号&#xff0c;并已完成实名认证。 然后需要按文档开通服务 业务开通 | uni-app官网 2、h5端 在使用前…

工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

FFmpeg、x264以及fdk-aac 编译整合

接上文 FFMPEG 编译流程(极客版) 编译 fdk-aac libfdk-aac version:0.1.5 下载 wget http://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.5.tar.gz#!/bin/bash NDK/home/maqi/Desktop/android-ndk-r20b # 这里需要替换成你本地的 NDK 路径&#x…

【来不及刷题之】43、最小栈(PriorityQueue)

因为要在常量时间内查询出最小值&#xff0c;所以需要有另外的数据结构维护最小值&#xff0c;很自然地想到了“堆”这个结构&#xff0c;“最小堆”的堆顶元素刚好是最小值因此出栈和入栈的同时也要维护好最小堆 class MinStack {PriorityQueue<Integer> heap;LinkedLi…

软件测试前途如何?要学吗?

1.前言 当我们面临择业问题的时候&#xff0c;因为我们本身对自己认知的不清晰和对现有自己能选择的岗位的不了解&#xff0c;往往不知道如何选择才是最优解。这个博客就专门来解答大家对于软件测试这个岗位的疑惑&#xff0c;让大家对软件测试这个岗位有更广义的了解。 本博…

观察者模式(下):如何实现一个异步非阻塞的EventBus框架?

上一节课中&#xff0c;我们学习了观察者模式的原理、实现、应用场景&#xff0c;重点介绍了不同应用场景下&#xff0c;几种不同的实现方式&#xff0c;包括&#xff1a;同步阻塞、异步非阻塞、进程内、进程间的实现方式。 同步阻塞是最经典的实现方式&#xff0c;主要是为了…

C++之std::is_same用法(一百五十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Flink HA方案介绍

1.Flink HA方案介绍 每个Flink集群只有单个JobManager&#xff0c;存在单点失败的情况。Flink有YARN、Standalone和Local三种模式&#xff0c;其中YARN和Standalone是集群模式&#xff0c;Local是指单机模式。但Flink对于YARN模式和Standalone模式提供HA机制&#xff0c;使集群…

【历史上的今天】7 月 12 日:世界上第一台商用数字计算机;Python 之父卸任 BDFL;Wacom 成立

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 7 月 12 日&#xff0c;在 1854 年的今天&#xff0c;伊士曼柯达公司的创始人、胶卷的发明者乔治伊斯曼&#xff08;George Eastman &#xff09;出生&#xf…

NC55 最长公共前缀

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可*** param strs string字符串一维数组* return string字符串*/public String longestCommonPrefix (String[] strs) {int n s…

类和对象(—)

今天&#xff0c;我带来类和对象的基础篇。 目录 面向对象和面向过程类类的概念类的定义类的访问限定符c中struct和class的区别封装类的作用域类的实例化类的存储结构体内存对齐规则【面试题】this指针this指针的概念this指针的特性 【面试题】 面向对象和面向过程 C语言是面向…

[PyTorch][chapter 44][时间序列表示方法3]

简介: word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包&#xff0c;它简单、高效&#xff0c;因此引起了很多人的关注。由于 word2vec 的作者 Tomas Mikolov 其主要知识点 目录&#xff1a; word2vec 基本思想 Skip-gram cbow Hierarchical sof…

MedNeXt的一些问题集锦

归纳偏差是一种关于机器学习算法的目标函数的假设&#xff0c;也就是目标函数评分的标准。 归纳偏差是指模型更容易学习到训练数据中的局部和表面特征&#xff0c;而较难捕捉全局和抽象特征。 scalable 可扩展的 network-wide优势&#xff1f;&#xff1f;&#xff1f; 深度监…