数据类型【mysql数据库】

一、数值类型

默认都是有符号,无符号要在对应的类型后跟unsigned

在语言上,可能会有截断,但mysql会对不合法的数据做拦截。所以,mysql中,数据类型本身也是一种约束(约束使用者),保证数据库中的数据是可预期的,完整的。

类型字节最小值最大值
(有/无符号)(有/无符号)
TINYINT(tinyint)1-128127
0255
SMALLINT2-3276832767
065535
MEDIUMINT3
INT4
BIGINT8

二、bit类型

BIT(M) 位类型,M指定位数,默认值1,范围1-64

system clear:清屏

 bit类型数据,默认是按ASCII码值来显示的:

按十进制显示:

三、浮点类型

1、float

float (m,d) (unsigned):m指定显示长度,d指定小数位数 4字节

可以四舍五入,但四舍五入后的数据也不能超范围,否则无法插入:

2、decimal

decimal也是一种浮点数类型,float会存在精度的损失,而decimal可以规避这个问题。

decimal (m,d) (unsigned):m指定显示长度,d指定小数位数

float的精度大约为7位(小数部分),而decimal的整数最大位数m为65,小数最大位数d为30,默认m为10,d为0.(不同mysql版本会有些差异)

四、字符串类型

1、char

char[L]:固定长度字符串,可存储的长度为L(单位:字符),L最大为255.

注意:一个汉字虽然占2/3字节,但也是一个字符。

 2、varchar

varchar[L]:变长字符串,L表示字符串长度,L最大为65535字节,其中有1-3字节是用来记录数据大小的,所以有效字节数为65532(utf-8:65532/3个字符,gbk:65532/2个字符)。

utf-8编码,1个字符3字节,最大只能存21845(实际还要-1到3字节)个字节。

char和varchar的区别?

 1、char(L)是固定长度,意味着L多大就分多大空间,而varchar(L)的L只是决定了字符串长度的上限,实际是需要多大空间就分配多大空间。

如果长度都一样,推荐用char,长度有变化,推荐用varchar。

 五、日期和时间类型

date:日期 yyyy-mm-dd,占3字节

datetime:时间日期,yyyy-mm-dd hh:ii:ss 表示范围从1000到9999,占8字节

timestamp:时间戳,从1970年到现在的yyyy-mm-dd hh:ii:ss(年月日时分秒),格式和datetime一样,占4字节。

在插入一行数据时时,timestamp这一列会自动插入当前时间戳:

更新某一列时,时间戳也会自动更新:

 六、enum和set

enum:枚举、单选类型

enum('选项1','选项2','选项3',... );

提供若干个选项的值,最终一个单元格,只能存储其中一个值

set:集合,多选类型

set('选项值1','选项值2','选项值3',... );

提供若干个选项的值,最终一个单元格,可存储多个值

enum类型插入数据,可以看到,enum不能插入其他值,允许为空:

也可以插入选项值的下标,且下标从1开始:

set类型插入数据,不允许插入set中没有的选项值,可以同时插入多个,也允许为空:

NULL是空,表什么都没有,'':表示有东西,只不过是个空串。插入0就表示插入空串。

注意:在set这里,数字并不表示下标!!!

它是用bit位来表示有无这种选项值的,eg:

游泳 足球 乒乓球 羽毛球 代码

0        0        0        0        1        所以输入1,就表示输入代码

0        0        1        1        1        输入7,就表示输入代码、羽毛球、乒乓球                        

七、enum和set类型查找

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

后端系统开发之——创建SpringBoot工程

原文地址:后端框架系统开发之——创建SpringBoot工程 - Pleasure的博客 下面是正文内容: 前言 现在的市场环境,如果你单单只是作为前端工程师或者是后端工程师,在开发Web应用的时候都需要去读取企业提供的接口文档。而当你前后端…

编程开发语言工具之透明滑动标尺构件用法

编程开发语言工具之透明滑动标尺构件用法 一、前言 今天给大家分享的编程开发语言工具资料如下: 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载——常用工具下载——编程工具…

数据仓库数据分层详解

数据仓库中的数据分层是一种重要的数据组织方式,其目的是为了在管理数据时能够对数据有一个更加清晰的掌控。以下是数据仓库中的数据分层详解: 原始数据层(Raw Data Layer):这是数仓中最底层的层级,用于存…

编译原理-实现识别无符号数的词法分析器——沐雨先生

实验任务: 实现识别无符号数的词法分析器 实验要求: 根据编译原理理论课教材中图2.4“无符号数的转换图”,用C语言编写识别无符号数的词法分析器,以文本文件为输入,控制台(或文件)输出识别出…

【Sql Server】通过Sql语句批量处理数据,使用变量且遍历数据进行逻辑处理

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…

2024Vue高频面试题

前言: Vue 在前端开发领域拥有强劲的发展势头,以下是一些 Vue 的发展趋势: 1.持续增长的用户数量: Vue 作为一款轻量级、易学易用的前端框架,吸引了越来越多的开发者和企业选择使用。其活跃的社区和丰富的资源也促进了用户数量的不断增长。 2.生态系统不断丰富: 随着 V…

第七节:Vben Admin权限-后端获取路由和菜单

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 第五节:Vben Admin权限-前端控制方式 第六节:Vben Admin权限-后端控制方式 第七节…

【启动npm run serve 奇怪的报错】

报错如下: INFO Starting development server... utils.js:587Uncaught TypeError [ERR_INVALID_ARG_VALUE]: The argument path must be a string or Uint8Array without null bytes. Received E:\\#\u0000#idea-workspace\\wonderful-search\\wonderful-search-v…

【JAVA】JAVA方法的学习和创造

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不…

影像质感再升级:JOEL FAMULARO Phantom LUTs让作品焕然一新

JOEL FAMULARO Phantom LUTs是一套专业的电影级别的预设,旨在为电影制作人和视频编辑人员提供高质量的颜色校正和调整工具。它为用户提供了一系列精心设计的色彩预设,旨在帮助摄影师在电影、电视和照片后期制作中快速实现专业且一致的色彩风格。这些预设…

自动化测试工具:提升软件质量的利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

网络编程套接字——实现简单的UDP网络程序

目录 1、预备知识 1.1、认识端口号 1.2、端口号 vs 进程pid 1.3、认识TCP协议 1.4、认识UDP协议 1.5、网络字节序 2、socket编程接口 2.1、socket常见API 2.2、sockaddr结构 3、实现一个简易的UDP服务器和客户端通信 log.hpp UdpServer.hpp UdpClient.cc Main.cc…

【Maven入门篇】(2)IDEA集成Maven环境的具体操作

🎊专栏【Maven入门篇】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The truth that you leave】 🥰欢迎并且感谢大家指出我的问题 文章目录 🍔配置Maven环境⭐方法一(当前工程&…

EPICS和Arduino Uno之间基于串行文本协议的控制开发

Arduino Uno的串口服务程序设置如文本的串口通信协议设计以及在Arduino上的应用-CSDN博客中所示。通过在串口上发送约定的文本协议,它实现的功能如下: 实现功能: 读取三路0.0V~5.0V模拟量输入,读取端口A0~A2设置三路0.0V~5.0V的模…

光伏电站信息化管理系统如何优化能源管理

随着可再生能源的快速发展,光伏电站作为其中的重要组成部分,其运营管理面临着越来越多的挑战。为了提升光伏电站的能源管理效率,信息化管理系统成为了不可或缺的工具,那么如何优化能源管理呢? 1.数据实时监控 信息化管…

一站式解决方案:uni-app条件编译及多环境配置,appid动态修改攻略!

前言 这篇文章主要介绍uniapp在Hbuilderx 中,通过工程化,区分不同环境、动态修改小程序appid以及自定义条件编译,解决代码发布和运行时手动切换到问题。 背景 在企业级的应用中,通常会分为,开发、联调、生产等多个环…

GPT-1, GPT-2, GPT-3, InstructGPT / ChatGPT and GPT-4 总结

1. GPT-1 What the problem GPT-1 solve? 在 GPT-1 之前,NLP 通常是一种监督模型。 对于每个任务,都有一些标记数据,然后根据这些标记数据开发监督模型。 这种方法存在几个问题:首先,需要标记数据。 但 NLP 不像 CV&…

从嵌套事务的日志看MyBatis的sqlSession生命周期

service层业务代码 Override public void test(){QueryWrapper<StoreRebateCalculateLog> queryWrapper;queryWrapper new QueryWrapper<>();queryWrapper.eq("delete_flag", 0);//执行查询A,A事务开启List<StoreRebateCalculateLog> storeRebat…

区块链推广海外市场怎么做,CloudNEO服务商免费为您定制个性化营销方案

随着区块链技术的不断发展和应用场景的扩大&#xff0c;区块链项目希望能够进入海外市场并取得成功已成为越来越多公司的目标之一。然而&#xff0c;要在海外市场推广区块链项目&#xff0c;需要采取有效的营销策略和措施。作为您的区块链项目营销服务商&#xff0c;CloudNEO将…

深度学习——SAM(Segment-Anything)代码详解

目录 引言代码目录segment-anything 代码详解build_sam.pypredictor.pyautomatic_mask_generator.py 引言 从去年年初至今&#xff0c;SAM(Segment Anything )已经问世快一年了&#xff0c;SAM凭借其强大而突出的泛化性能在各项任务上取得了优异的表现&#xff0c;广大的研究者…