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

5:数据类型

1. 数据类型:

2. 数值类型:

  • 每个类型都可以设置unsigned属性,设置后范围会发生改变。

  • 尝试向上述类型插入一个不符合范围的值,会插入失败,所以说可以被插入到数据库的值一定是合法的值,所以说数据库中的值一定是可预期、完整的,可以认为数据的类型也是一种约束。

3.  浮点类型存储:

  • 浮点类型有float、double、decimal三种。

  • 如果对浮点类型加上unsigned做限制,正数范围不变,负数范围直接被砍掉,使得只能存储非负数。

  • 存储超过范围的值,会被阻止。在限制小数部分精度的情况下,会发生四舍五入。

  • float和double不适合存储精确值,当精度过大,会出现明显误差,使用decimal存储高精度的浮点数。

  • float和double占用的空间是明确的,但是decimal占用的空间是根据精度决定的,这是由于decimal的存储是按照字符串进行存储的。

4.  字符串类型:

  • char(size):size代表字符数量,不是字节,比如char(2)可以插入'ab'也可以插入'中国',可设置的size的最大值为255。

  • varchar(L):变长字符串,最大可以存储65535个字节,注意是字节不是字符;L代表的是空间上限可以字符数,如果实际使用小于上限,实际开辟出的空间会缩小到实际占用空间,而char会固定开辟指定空间。varchar实际可以存放的字符数量和编码有关联,看对应编码一个字符占几个字节空间。同时会耗费1到3个字节用于记录当前数据实际大小。

  • 如果确定长度,比如手机号、身份证号,就使用char;如果不确定长度,比如姓名、地址,就使用varchar。

5.  日期类型:

  • timestamp类型会自动更新,如果一个表包含该字段,操作表中的某条数据,该条数据的timestamp字段的值会自动更新为当前时间戳。与之相对的datatime就是一个不会改变的固定时间。

6.  枚举类型和集合类型:

  • enum('选项1','选项2',...):提供若干选项,只能选其一,实际存储的是数字,选项从前到后依次对应数字1到65535。

  • set('选项1','选项2',...):提供若干选项,可多选,最多64个。

  • 向集合字段插入数据,使用单引号包裹,逗号分隔多个值。

  • enum和set都可以为null,表示可以不插入值;但是enum要插入值必须选择其一,set可以插入空值。

  • set也可以使用值进行插入,但是和enum的区别是,enum是下标,set是位图。


http://www.kler.cn/a/596693.html

相关文章:

  • 【设计模式】装饰模式
  • Web安全策略CSP详解与实践
  • Androidstudio实现引导页文字动画
  • 嵌入式Linux产品开发笔记
  • APM 仿真遥控指南
  • 深入剖析C# List<T>的底层实现与性能奥秘
  • Kubernetes的Replica Set和ReplicaController有什么区别
  • 程序算法基础
  • Java中Arrays类学习
  • C/C++蓝桥杯算法真题打卡(Day5)
  • PicFlow:一个图片处理与上传工作流工具(图床上传工具)
  • Linux——空间清理的方法
  • 创建自己的github.io
  • 【鸿蒙开发】Hi3861学习笔记- UDP客户端
  • 游戏立项时期随笔记录(2)
  • dify创建第一个Agent
  • 数据库练习2
  • 鸿蒙harmonyOS笔记:练习CheckBoxGroup获取选中的值
  • python __name__与__main__深刻理解(涵详细解释、应用场景、代码举例、高级用法)
  • Android studio运行报错处理