博客
关于我
MySQL 数据类型和属性
阅读量:799 次
发布时间:2023-02-10

本文共 2279 字,大约阅读时间需要 7 分钟。

MySQL 数据类型与字段属性说明

1. 数值型数据类型

MySQL 提供了多种数值型数据类型,根据存储大小和应用场景选择合适的数据类型,以确保数据的高效存储和查询性能。以下是常见的数值型数据类型及其详细信息:

1.1 整数型
  • TINYINT

    • 大小:1 字节
    • 范围:(-128,127)
    • 用途:存储小整数值,如用户年龄、点数等。
  • SMALLINT

    • 大小:2 字节
    • 范围:(-32 768,32 767)
    • 用途:存储较大整数值,如产品编号、库存数量等。
  • MEDIUMINT

    • 大小:3 字节
    • 范围:(-8 388 608,8 388 607)
    • 用途:存储中等大小的整数值,如员工编号、订单号等。
  • INT 或 INTEGER

    • 大小:4 字节
    • 范围:(-2 147 483 648,2 147 483 647)
    • 用途:存储大整数值,如货物编号、用户ID等。
  • BIGINT

    • 大小:8 字节
    • 范围:(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)
    • 用途:存储极大整数值,如银行账户号、身份证号等。
1.2 浮点数型
  • FLOAT

    • 大小:4 字节
    • 范围:(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)
    • 用途:存储单精度浮点数值,如价格、工资等。
  • DOUBLE

    • 大小:8 字节
    • 范围:(1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
    • 用途:存储双精度浮点数值,如科学计算、金融数据等。
1.3 小数型
  • DECIMAL
    • 大小:根据DECIMAL(M,D) 中的 M 和 D 确定
    • 范围:依赖于 M 和 D 的值
    • 用途:存储小数值,如货币、精确科学计算结果等。

2. 字符串类型

MySQL 提供多种字符串类型,根据存储需求和应用场景选择合适的类型:

2.1 定长字符串
  • CHAR
    • 大小:0-255 字节
    • 用途:存储定长字符串,如密码、身份证号的部分字符等。
2.2 变长字符串
  • VARCHAR
    • 大小:0-255 字节
    • 用途:存储变长字符串,如用户评论、文本内容等。
2.3 二进制字符串
  • TINYBLOB

    • 大小:0-255 字节
    • 用途:存储不超过 255 个字符的二进制字符串,如图片、文件名等。
  • BLOB

    • 大小:0-65 535 字节
    • 用途:存储二进制形式的长文本数据,如大图片、视频文件等。
  • MEDIUMBLOB

    • 大小:0-16 777 215 字节
    • 用途:存储二进制形式的中等长度文本数据,如大图片、视频文件等。
  • MEDIUMTEXT

    • 大小:0-16 777 215 字节
    • 用途:存储中等长度文本数据,如长评论、文章内容等。
  • LONGBLOB

    • 大小:0-4 294 967 295 字节
    • 用途:存储二进制形式的极大文本数据,如大视频、大图片等。
  • LONGTEXT

    • 大小:0-4 294 967 295 字节
    • 用途:存储极大文本数据,如长文章、长评论等。

3. 日期和时间类型

MySQL 提供丰富的日期和时间类型,满足不同应用场景的需求。以下是常见的日期和时间类型及其详细信息:

3.1 日期类型
  • DATE

    • 大小:3 字节
    • 范围:1000-01-01 到 9999-12-31
    • 格式:YYYY-MM-DD
    • 用途:存储日期值,如生日、事件日期等。
  • YEAR

    • 大小:1 字节
    • 范围:1901 到 2155
    • 格式:YYYY
    • 用途:存储年份值,如公司成立年份等。
3.2 时间类型
  • TIME
    • 大小:3 字节
    • 范围:'-838:59:59' 到 '838:59:59'
    • 格式:HH:MM:SS
    • 用途:存储时间值或持续时间,如上课时间、会议时间等。
3.3 混合日期和时间类型
  • DATETIME

    • 大小:8 字节
    • 范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59
    • 格式:YYYY-MM-DD HH:MM:SS
    • 用途:存储混合日期和时间值,如订单日期和时间、用户登录时间等。
  • TIMESTAMP

    • 大小:8 字节
    • 范围:1970-01-01 00:00:00 到 2037 年某时
    • 格式:YYYYMMDD HHMMSS
    • 用途:存储混合日期和时间值,支持时间戳类型,用于记录精确时间点,如数据库更新时间等。

4. 数据字段属性

MySQL 提供多种字段属性,用于定义数据列的行为和约束:

4.1 数据列约束
  • NULL

    • 含义:数据列可以包含 NULL 值。
  • NOT NULL

    • 含义:数据列不允许包含 NULL 值。
  • DEFAULT xxx

    • 含义:如果插入记录时没有指定值,将取默认值。
4.2 主键与外键
  • PRIMARY KEY
    • 含义:主键,用于唯一标识数据行。
4.3 自增字段
  • AUTO_INCREMENT
    • 含义:递增字段,如果插入记录时没有指定值,则在上一条记录的值上加 1,仅适用于整数类型。
4.4 符号与填充
  • UNSIGNED

    • 含义:无符号,字段存储无符号数值。
  • CHARACTER SET name

    • 含义:指定字符集,用于多种语言支持。
  • zerofill

    • 含义:数值字段前自动补 0,适用于整数类型(如 3 字节),例如 zerofill 5>005。

转载地址:http://sybfk.baihongyu.com/

你可能感兴趣的文章
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>