SQL 字段类型-上

news/2024/10/19 1:45:14/

定义方式

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)

http://www.ppmy.cn/news/1474233.html

相关文章

Spring Boot 事件监听机制实战【自定义 Spring Boot 事件监听】

前言&#xff1a; 上一篇我们分析了 Spring Boot 事件监听的原理&#xff0c;本篇我们来自定义实现自己的监听器。 Spring Boot 系列文章传送门 Spring Boot 启动流程源码分析&#xff08;2&#xff09; Spring Boot 启动流程源码分析&#xff08;2&#xff09; Spring Bo…

《妃梦千年》第二十八章:反间之计

第二十八章&#xff1a;反间之计 在经历了一系列的斗争和变故后&#xff0c;林清婉意识到&#xff0c;宫中的敌人和外部的敌人正在联手&#xff0c;他们不仅试图从外部攻破大周的防线&#xff0c;还在内部制造混乱。为了彻底解决这个问题&#xff0c;她决定采取反间之计&#…

华为HCIP Datacom H12-821 卷32

1、默认情况下&#xff0c;IS-IS Leve1-1-2路由器会将Leve1-2区域的明细路由信息发布到Level-1区域、保证level-1区域的路由器能够正常访问骨干区域的设备 A、对 B、错 正确答案&#xff1a; B 解析&#xff1a;不会发布&#xff0c;需要用到路由泄露。 2、BGP在建立邻居…

看影视学英语(假如第一季第一集)

in the hour也代表一小时吗&#xff1f;等同于in an hour&#xff1f;

【LInux】从动态库的加载深入理解页表机制

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

Linux多进程和多线程(八)多线程

多线程 线程定义线程与进程线程资源 线程相关命令 pidstat 命令 top 命令ps 命令常见的并发方案 1. 多进程模式2. 多线程模式 创建线程 1. pthread_create() 示例:创建一个线程 2. pthread_exit() 退出线程3. pthread_join() 等待线程结束 示例: 线程分离 创建多个线程 示例 1:…

UI组件库---vantList组件接口多次调用大坑问题

问题描述&#xff1a;当使用refesh下拉操作时&#xff0c;vanlist组件会多次调用&#xff08;大概三次&#xff09;&#xff01; 解决方案&#xff1a; 1、接口错误的时候&#xff0c;大量重复请求。 可能接口错误时vant3内部某些变量没重置&#xff0c;导致一直重复请求&am…

Build a Large Language Model (From Scratch)附录D(gpt-4o翻译版)

来源&#xff1a;https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch