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

SQL 字段类型-上

定义方式

use xxxx; 使用xxxx数据库后
create table table_name
{username   char(20)/*数据类型*/  null/*属性*/,password    varchar(10) not null; 字段名...
}

整型数据

  • 和高级语言一样可以用 int unsigned 修饰无符号放在后面

数据类型关键字描述
迷你整型tinyint使用1个字节存储整数
短整型smallint使用2个字节存储整数
中整型mediumint使用3个字节存储整数
标准整型int使用4个字节存储整数
大整型bigint使用8个字节存储

显示宽度:int(L),

  • 整数在数据库中显示的符号(数字+符号)个数

  • 显示宽度一般是类型能表示的最大值对应的数字个数(通过desc查看表字段显示)

  • 显示宽度包含符号(如果允许为负数,-负号会增加一个宽度)

  • 显示宽度可以主动控制:创建字段时加括号确定

  • 显示宽度不会影响类型能表示的最大数值

  • 可以通过zerofill让不够宽度的数值补充到对应宽度:在字段类型后使用zerofill

浮点型数据

基础型
  • 浮点数超过精度范围会自动进行四舍五入

    • 单精度:float,使用4个字节存储,精度范围为6-7位有效数字

    • 双精度:double,使用8个字节存储,精度范围为14-15位有效数字。

  • 精度可以指定整数和小数部分

    • 默认不指定,整数部分不超过最大值,小数部分保留2位

    • 可以指定:float/double(总长度,小数部分长度)

    • 如 float(6,3) , 后面插入的数据被限制在 有效数位==6 小数部分数位 == 3

  • 可以使用科学计数法 ...E...

定点型
  • 定点型可以指定整数部分长度和小数部分长度

    • 可以指定:decimal(有效数位,小数部分数位)

    • 如 123.123 有效数位==6 小数部分数位 == 3

    • 默认不指定,10位有效整数,0位小数

    • 有效数位不超过65个

  • 数据规范

    • 整数部分超出报错

    • 小数部分超出四舍五入

数据类型关键字描述
单进度float (.. , ..)使用4个字节 ...表示宽度 后面的... 表示小数位
双精度double(.. , ..)使用8个字节
定点型decimal(.. , ..)不是固定长度每9个数字使用4个字节存储

字符串类型

定长型
  • 定长的访问效率较高,但是空间利用率较低

  • 字符串数据使用单引号或者双引号包裹

变长型
  • 变长需要额外产生1-2个字节,用来记录实际数据的长度

    • 数据长度小于256个,多1个字节

    • 数据长度大于256个,多2个字节

  • 利用存储空间 ↑ 效率 ↓

文本字符串
  • text:普通字符用于存储文本数据,例如文档、文章等

  • blob:二进制字符(与text类似)用于存储二进制数据,例如图像、音频、视频等。

  • 文本字符串会自动根据文本长度选择适合的具体类型。

  • 一般在文本超过255个字符时,都会使用text(blob现在极少使用)

数据类型关键字描述
定长型char(L) L<=255使用L * 字符集的字节长度
变长型varchar(Max_L) Max_L<=65535空间由实际存储数据 + 记录长度决定,但是小于Max_L.
text:普通字符
迷你文本tinytext不超过2 ^ 8 -1个字符
普通文本text不超过 2 ^ 16 - 1个字符
中型文本mediumtext不超过 2 ^ 24 - 1 个字符
长文本longtext不超过 2 ^ 32 - 1 个字符(4G)
blob:二进制字符(与text类似)
迷你文本tinyblob不超过2 ^ 8 -1个字符
普通文本blob不超过 2 ^ 16 - 1个字符
中型文本mediumblob不超过 2 ^ 24 - 1 个字符
长文本longblob不超过 2 ^ 32 - 1 个字符(4G)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 旗晟机器人AI智能算法有哪些?
  • JRE、JVM、JDK分别是什么。
  • Django学习第六天
  • 构造函数注入@RequiredArgsConstructor
  • arp缓存中毒实验
  • 【大模型LLM面试合集】大语言模型架构_layer_normalization
  • 【HarmonyOS NEXT】鸿蒙线程安全容器集collections.ArrayBuffer
  • self_attention python代码
  • 超高精电容传感器PCAP01调试+LABVIEW数据可视化调试手记
  • 分析Profiler Timeline中的算子序列,通过寻找频繁项集的办法,得到TOPK可融合的算子序列
  • 12、matlab中for循环,if else判断语句,break和continue用法以及switch case语句使用
  • ORA-12537: TNS:连接关闭/Io 异常: Got minus one from a read call
  • Open3D SVD算法实现对应点集配准
  • CountDownLatch 是 Java 中的一个同步辅助工具类
  • 线程池工具类
  • Electron入门介绍
  • Hibernate【inverse和cascade属性】知识要点
  • node学习系列之简单文件上传
  • VuePress 静态网站生成
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前言-如何学习区块链
  • 使用parted解决大于2T的磁盘分区
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 用quicker-worker.js轻松跑一个大数据遍历
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 原生Ajax
  • puppet连载22:define用法
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (三)c52学习之旅-点亮LED灯
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • .FileZilla的使用和主动模式被动模式介绍
  • .gitignore文件使用
  • .Net core 6.0 升8.0
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net下的富文本编辑器FCKeditor的配置方法
  • /bin/bash^M: bad interpreter: No such file or directory
  • @Autowired自动装配
  • @ModelAttribute注解使用
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [000-002-01].数据库调优相关学习
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [AIGC codze] Kafka 的 rebalance 机制
  • [AI资讯·0612] AI测试高考物理题,最高准确率100%,OpenAI与苹果合作,将ChatGPT融入系统中,大模型在物理领域应用潜力显现
  • [android] 切换界面的通用处理
  • [android] 天气app布局练习
  • [Android]如何调试Native memory crash issue
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试