当前位置: 首页 > news >正文

Linux CentOS 8(MariaDB的数据类型)


Linux CentOS 8(MariaDB的数据类型)


目录

    • 一、项目描述
    • 二、相关知识
    • 三、项目分析
      • 3.1 数据类型的分类
      • 3.2 数据类型属性


一、项目描述

Jan16公司为满足部门之间数据共享、减少数据冗余度和保持数据独立性等要求,需要对数据库中的数据类型拥有一定的了解。

二、相关知识

数据类型是指数据库中表列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

三、项目分析

数据类型是数据库中很重要的理论要求,需要理解各数据类型概念和作用。

3.1 数据类型的分类

1.1 整数
整数类型包括:

数据类型概述
tinyint此数据类型表示落入-128到127的有符号范围内的小整数,以及0到255的无符号范围。
smallint此数据类型表示落入-128到127的有符号范围内的小整数,以及0到255的无符号范围。
mediumint此数据类型表示有符号范围-8388608到8388607中的整数,无符号范围0到16777215。
int(integer)此数据类型表示正常大小的整数。当标记为unsigned时,范围跨越0到4294967295.当有符号(默认设置)时,范围跨越-2147483648到2147483647.当列设置为ZEROFILL(无符号状态)时,其所有值都由零添加INT值中的M个数字。
boolean此数据类型将值0与“false”相关联,值1与“true”相关联。
bigint此数据类型表示有符号范围92233720368547758089223372036854775807内的整数,无符号范围018446744073709551615

注:表中都是定义有符号的类型,加上 unsigned,则定义为无符号的类型。

1.2 定点型
decimal(m,d)numeric(m,d)为同义词,用于存储点数,保存必须为确切精度的值。

m 取值为1~65,取0时为默认值,超出范围会报错,默认为10。
d 取值为0~30,d要在小于等于m的范围内,否则报错,默认为0。

1.3 浮点型

数据类型概述
float(real)单精度浮点数(float或real),占4字节,其中1位符号位,8位指数,23位尾数。
double双精度浮点数(double),占8字节,其中1位符号位,11位指数,52位尾数,只保证16位有效数字的准确性。

1.4 位型
bit 数据类型可用来保存字段值,bit(m)类型允许存储m位值,m指定每个值的位数,取值为1~64。省略m时,默认值为1,bit其实就是存入二进制的值,其中值表示0和1中的位值。零填充从左边自动发生全长。例,“10”变为“0010”。

1.5 字符串型

数据类型概述
char(n)n表示字符的列长度,取值范围为0〜255,缺省值为1。不管实际value都会占用n个字符的空间。
varchar(n)n表示字符的列长度,取值范围为0〜65535,缺省值为2。占用实际字符的空间+1的字符空间,并且实际空间+1小于等于n。
tinytext取值范围为0〜255,缺省值为1,在存储中,每个都使用一个字节长度的前缀,表示值中的字节数量。
text取值范围为0〜65535,缺省值为2,在存储中,每个都使用两个字节长度的前缀,表示值中的字节数量。
mediumtext取值范围为0〜16777215,缺省值为3,在存储中,每个都使用三个字节长度的前缀,表示值中的字节数量。
longtext取值范围为0〜4294967295,缺省值为4,在存储中,每个都使用四个字节长度的前缀,表示值中的字节数量。

1.6 二进制串类型
二进制串类型包含 binaryblob 两类。

binary类

数据类型概述
binary(n)n为列长度(以字节为单位)。
varbinary(n)表示可变长度的二进制字节字符串,n为列长度。

注:binaryvarbinary 类型与 charvarchar 类型类似,不同的是,它们存储的形式为二进制串,而不是字符串,所以他们没有字符集。

blob类

数据类型概述
blob最大长度为65535字节,在存储中,每个都使用两个字节长度的前缀,表示值中的字节数量。
tinyblob最大长度为255字节,在存储中,每个都使用一个字节长度的前缀,表示值中的字节数量。
mediumblob最大长度为16777215字节,在存储中,每个都使用三个字节长度的前缀,表示值中的字节数量。
longblob最大长度为4294967292字节,在存储中,每个都使用四个字节长度的前缀,表示值中的字节数量。

注:blob是一个二进制对象,可以存储数据量很大的二进制数据,可以看作varbinary的增大版,可以用来存储图片、视频等。

1.7 日期和时间类型

数据类型概述
date表示日期范围“1000-01-01”到“9999-12-31”,并使用“YYYY-MM-DD”日期格式。
time以“HH:MM:SS”格式检索和显示time值,范围为“-838:59:59’~838:59:59’ ”
datetime表示日期范围“1000-01-01 00:00:00’ ”到“9999-12-31 23:59:59’ ”,并使用“YYYY-MM-DD HH:MM”SS’ ”(年-月-日 时:分:秒)日期格式。
timestamp表示日期范围“1970-01-01 00:00:01’ utc~2038-01-19 03:14:07’ utc”使用“YYYY-MM-DD HH:MM:DD”格式的时间戳。主要用于详细描述数据库修改的时间,能够自动存储记录修改时间,将它设为NULL,则默认为当前时间。
year year是一个单字节类型,用于表示年。以YYYY格式检索和显示year值,范围1901~2155。

1.8 其他类型

数据类型概述
enum为枚举类型,定义了一种枚举,最多包含65535个不同成员,且表示一个列表中只有一个值的字符串对象。
set为集合类型,指定一组预定义值中的零个或者多个值提供了一种方法,这组值最多包括64个成员。

3.2 数据类型属性

数据类型概述
auto_increment能为新插入的行赋予一个唯一的整数标识符。
binary只用于char和varchar值。当定义该属性后,将以区分大小写的方式排序。
default表示在确保没有任何值可用的情况下,赋予某个常量值,且该值必须是常量。
index索引一个列会为该列创建一个安装该列排序的键数组,指向其相应的表中的行。
not null被定义了not null属性的列,将不允许插入null值,且必须输入该列的具体值。
null表示未知,不可用或将在以后添加的数据。
primary key用于确保指定行的唯一性,被指定的行,不能重复,不能为空。
unique被赋予unique属性的列将确保所有值都是不同的值,只有null可以重复。
zerofill可用于任何数值类型,用0填充所以剩余的字段空间。
identity对任何表都可创建包含系统所生成序号值的一个标识符,该序号值唯一标识表中的一列,可以为键值。

制作成员: 梁汉荣
排版: 裕新
初审: 杨佳佳
复审: 二月二

相关文章:

  • Pytorch自动混合精度的计算:torch.cuda.amp.autocast
  • 第77题. 组合
  • 服务注册发现 springcloud netflix eureka
  • 基于Pytorch的从零开始的目标检测
  • Java编程中,异步操作流程中,最终一致性以及重试补偿的设计与实现
  • Vue3-ref、reactive函数的watch
  • 2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-A
  • IDEA无法查看源码是.class,而不是.java解决方案?
  • C++ 大数相加
  • 在WPF应用程序集中添加新文件时,Page和Window有什么区别
  • Flutter笔记:桌面应用 窗口定制库 bitsdojo_window
  • 生成对抗网络Generative Adversarial Network,GAN
  • 索引三星结构
  • Jmeter 如何监控目标服务的系统资源
  • 04-快速掌握Redis,了解Redis中常见的结构类型及其应用场景
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • learning koa2.x
  • Python进阶细节
  • Redis在Web项目中的应用与实践
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Spring Cloud中负载均衡器概览
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • V4L2视频输入框架概述
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 给初学者:JavaScript 中数组操作注意点
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 收藏好这篇,别再只说“数据劫持”了
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 消息队列系列二(IOT中消息队列的应用)
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​香农与信息论三大定律
  • # Java NIO(一)FileChannel
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #Z0458. 树的中心2
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (LeetCode C++)盛最多水的容器
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (超详细)语音信号处理之特征提取
  • (第一天)包装对象、作用域、创建对象
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一) springboot详细介绍
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)shell调试方法
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET 中创建支持集合初始化器的类型
  • .net和php怎么连接,php和apache之间如何连接
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛