news 2026/1/8 9:06:32

SQL 常用数据类型汇总

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL 常用数据类型汇总

SQL 数据类型是数据库表设计的核心,用于定义列的存储格式、取值范围和运算规则。不同数据库(MySQL、SQL Server、PostgreSQL)虽有方言差异,但核心类型分类一致。本文按数值型、字符串型、日期时间型、二进制型、特殊类型五大类梳理常用类型,并说明跨库差异与选型原则。

一、数值类型

用于存储数字,核心关注取值范围精度,分为整数、浮点(近似值)、定点(精确值)三类。

1. 整数类型

存储无小数部分的数字,按字节数划分不同范围,需根据实际数值大小选择。

2. 浮点类型(近似值)

基于二进制存储小数,存在精度丢失,适用于对精度要求不高的场景(如身高、温度)。

3. 定点类型(精确值)

以字符串形式存储小数,无精度丢失,是金额、税率等高精度数值的首选。

二、字符串类型

用于存储文本数据,核心关注长度限制存储效率,分为定长、变长、大文本三类。

1. 定长字符串:CHAR

  • 语法:CHAR(N),N 为字符数(MySQL 中 N 范围 1~255);
  • 特点:无论实际存储多少字符,均占用 N 个字符空间,查询速度快;
  • 适用场景:短且长度固定的字符串(如手机号、身份证号、邮编)。

2. 变长字符串:VARCHAR

  • 语法:VARCHAR(N),N 为字符数;
  • 特点:仅占用实际字符数 + 1~2 字节的存储空间,节省空间;
  • 适用场景:长度不固定的短字符串(如用户名、商品名称、地址)。

跨库差异

  • MySQL:VARCHAR最大长度受行大小(65535 字节)限制;
  • SQL Server:VARCHAR(N)为非 Unicode 字符,NVARCHAR(N)为 Unicode 字符(支持中文);
  • PostgreSQL:VARCHAR(N)无性能损耗,也可直接用VARCHAR(无长度限制)。

3. 大文本类型

用于存储超长文本(如文章内容、商品详情),不同数据库的类型名称差异较大。

4. 特殊字符串类型

  • 枚举类型ENUM(MySQL 特有):存储预定义的枚举值,只能选其一,节省空间。
  • 集合类型SET(MySQL 特有):存储多个预定义值(最多 64 个),可多选。

三、日期时间类型

用于存储日期和时间,核心关注时间范围精度,跨库差异较明显。

关键对比

  • DATETIME:存储绝对时间,不受时区影响,范围大;
  • TIMESTAMP:存储相对时间(从 1970-01-01 开始的秒数),受时区影响,范围小。

四、二进制类型

用于存储二进制数据(如图片、音频、序列化数据),不建议直接存储大文件(推荐存储文件路径)。

五、数据类型选型建议

  1. 最小化原则:选择能容纳数据的最小类型(如状态用TINYINT而非INT),节省空间并提升查询效率。
  2. 金额必用定点数DECIMAL/NUMERIC是唯一选择,避免浮点数精度丢失。
  3. 字符串选型
    • 长度固定:用CHAR(如手机号);
    • 长度可变且短:用VARCHAR(如用户名);
    • 超长文本:用TEXT/VARCHAR(MAX)(如文章)。
  4. 日期时间选型
    • 记录创建 / 修改时间:MySQL 用TIMESTAMP(自动更新),其他数据库用DATETIME2
    • 仅存日期:用DATE,避免冗余。
  5. 二进制数据:尽量存储文件 URL(如云存储地址),而非直接存储二进制数据。
  6. 唯一标识:单库用自增INT/BIGINT,分布式系统用UUID

总结

SQL 数据类型的选择直接影响数据库的存储效率、查询性能和数据完整性。核心原则是匹配数据的实际特征:根据数值范围选数值类型,根据文本长度选字符串类型,根据时间精度选日期时间类型。同时需兼顾不同数据库的方言差异,确保表结构的可移植性。掌握常用类型的特性,是设计高效数据库表结构的基础。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/31 22:21:16

CH340G驱动终极指南:5分钟快速解决Windows串口连接问题

CH340G驱动终极指南:5分钟快速解决Windows串口连接问题 【免费下载链接】CH340G-CH340通用驱动下载 CH340G-CH340 通用驱动下载本仓库提供CH340G-CH340通用驱动的下载,支持Windows 10和Windows 7的64位操作系统 项目地址: https://gitcode.com/open-so…

作者头像 李华
网站建设 2026/1/7 9:20:18

11、Mac系统高级使用指南

Mac系统高级使用指南 1. Mac系统偏好设置 Mac系统偏好设置涵盖了多个重要方面,下面为大家详细介绍: - 共享(Sharing) :此偏好设置极为重要,其组件与Vista系统的网络和共享中心类似,可控制Mac资源与其他计算机的共享方式。在共享偏好设置界面,能明确他人可共享和不…

作者头像 李华
网站建设 2026/1/4 4:25:34

MediaElch终极指南:免费高效的Kodi媒体库整理解决方案

MediaElch终极指南:免费高效的Kodi媒体库整理解决方案 【免费下载链接】MediaElch Media Manager for Kodi 项目地址: https://gitcode.com/gh_mirrors/me/MediaElch MediaElch是一款专为Kodi设计的强大媒体管理工具,能够帮助用户轻松整理电影、电…

作者头像 李华
网站建设 2026/1/8 4:49:47

OpenHands Docker Compose部署指南:3步实现AI助手一键化部署

OpenHands Docker Compose部署指南:3步实现AI助手一键化部署 【免费下载链接】OpenHands 🙌 OpenHands: Code Less, Make More 项目地址: https://gitcode.com/GitHub_Trending/ope/OpenHands 还在为复杂的AI项目环境配置而烦恼吗?Ope…

作者头像 李华
网站建设 2025/12/27 22:15:12

Waifu Diffusion v1.4 快速上手指南

Waifu Diffusion v1.4 快速上手指南 【免费下载链接】waifu-diffusion-v1-4 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/waifu-diffusion-v1-4 快速开始:环境配置与一键安装 系统要求与必备软件清单 在开始使用Waifu Diffusion v1.4之前&am…

作者头像 李华