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)

相关推荐

  1. SQL 字段类型-

    2024-07-10 08:26:04       35 阅读
  2. 关联拼接字段SQL

    2024-07-10 08:26:04       46 阅读
  3. ES的字段更改字段类型

    2024-07-10 08:26:04       60 阅读
  4. PostgreSQL 支持的字段类型

    2024-07-10 08:26:04       66 阅读
  5. SQL字典

    2024-07-10 08:26:04       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 08:26:04       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 08:26:04       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 08:26:04       90 阅读
  4. Python语言-面向对象

    2024-07-10 08:26:04       98 阅读

热门阅读

  1. C++ 入门04:数组与字符串

    2024-07-10 08:26:04       24 阅读
  2. 简谈设计模式之原型模式

    2024-07-10 08:26:04       31 阅读
  3. GPT带我学-设计模式-13策略模式

    2024-07-10 08:26:04       29 阅读
  4. 写一个字符设备的驱动步骤

    2024-07-10 08:26:04       30 阅读
  5. Transformer和Bert的原理是什么

    2024-07-10 08:26:04       29 阅读
  6. 使用tkinter 制作工作流ui

    2024-07-10 08:26:04       25 阅读
  7. postman工具介绍

    2024-07-10 08:26:04       26 阅读
  8. vue-路由自动化

    2024-07-10 08:26:04       21 阅读
  9. el-date-picker 扩展

    2024-07-10 08:26:04       26 阅读
  10. Go语言入门之变量、常量、指针以及数据类型

    2024-07-10 08:26:04       22 阅读
  11. Kotlin 处理livedata数据倒灌

    2024-07-10 08:26:04       25 阅读
  12. 针对vue3的render函数添加自定义指令

    2024-07-10 08:26:04       28 阅读
  13. Kotlin中的关键字

    2024-07-10 08:26:04       28 阅读
  14. Matlab 使用

    2024-07-10 08:26:04       29 阅读