博客
关于我
MySQL 数据类型和属性
阅读量:793 次
发布时间: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/

你可能感兴趣的文章
mysql 常用
查看>>
MySQL 常用列类型
查看>>
mysql 常用命令
查看>>
Mysql 常见ALTER TABLE操作
查看>>
MySQL 常见的 9 种优化方法
查看>>
MySQL 常见的开放性问题
查看>>
Mysql 常见错误
查看>>
mysql 常见问题
查看>>
MYSQL 幻读(Phantom Problem)不可重复读
查看>>
mysql 往字段后面加字符串
查看>>
mysql 快照读 幻读_innodb当前读 与 快照读 and rr级别是否真正避免了幻读
查看>>
MySQL 快速创建千万级测试数据
查看>>
mysql 快速自增假数据, 新增假数据,mysql自增假数据
查看>>
MySQL 性能优化 & 分布式
查看>>
MySQL 性能优化的 9 种姿势,面试再也不怕了!
查看>>
MySql 手动执行主从备份
查看>>
Mysql 批量修改四种方式效率对比(一)
查看>>
mysql 批量插入
查看>>
Mysql 报错 Field 'id' doesn't have a default value
查看>>
MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
查看>>