当前位置: 首页 > news >正文

第二十次博客打卡

今天学习的内容是sql中的常见数据类型。
在这里插入图片描述
在 SQL 中,数据类型用于定义表中列的性质和存储的数据种类。不同的数据库管理系统(如 MySQL、SQL Server、PostgreSQL 等)可能支持不同的数据类型,但以下是一些常见且广泛使用的数据类型:

1. 数字类型

  • INT(整数)
    • 用于存储整数值,范围通常为 -2,147,483,648 到 2,147,483,647。
    • 示例:CREATE TABLE Users (UserID INT);
  • BIGINT(大整数)
    • 用于存储更大的整数值,范围通常为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
    • 示例:CREATE TABLE Orders (OrderID BIGINT);
  • SMALLINT(小整数)
    • 用于存储较小的整数值,范围通常为 -32,768 到 32,767。
    • 示例:CREATE TABLE Products (Quantity SMALLINT);
  • DECIMAL(p, s)(定点数)
    • 用于存储精确的小数值,其中 p 是精度(总位数),s 是小数点后的位数。
    • 示例:CREATE TABLE Prices (Price DECIMAL(10, 2));
  • FLOAT(浮点数)
    • 用于存储近似的小数值,适合科学计算。
    • 示例:CREATE TABLE Measurements (Value FLOAT);

2. 字符和字符串类型

  • CHAR(n)(固定长度字符)
    • 用于存储固定长度的字符串,n 是字符串的最大长度。如果存储的字符串长度小于 n,则会用空格填充。
    • 示例:CREATE TABLE Users (LastName CHAR(50));
  • VARCHAR(n)(可变长度字符)
    • 用于存储可变长度的字符串,n 是最大长度。
    • 示例:CREATE TABLE Users (FirstName VARCHAR(50));
  • TEXT(长文本)
    • 用于存储大量的文本数据,通常用于存储文章、评论等内容。
    • 示例:CREATE TABLE Articles (Content TEXT);

3. 日期和时间类型

  • DATE(日期)
    • 用于存储日期值,格式为 YYYY-MM-DD
    • 示例:CREATE TABLE Orders (OrderDate DATE);
  • TIME(时间)
    • 用于存储时间值,格式为 HH:MM:SS
    • 示例:CREATE TABLE Events (StartTime TIME);
  • DATETIME(日期和时间)
    • 用于存储日期和时间值,格式为 YYYY-MM-DD HH:MM:SS
    • 示例:CREATE TABLE Logs (LogTime DATETIME);
  • TIMESTAMP(时间戳)
    • 用于存储时间戳,通常包含日期和时间,并且可以自动记录当前时间。
    • 示例:CREATE TABLE Users (Created TIMESTAMP);

4. 布尔类型

  • BOOLEANBIT(布尔值)
    • 用于存储布尔值,通常为 TRUEFALSE
    • 示例:CREATE TABLE Users (IsActive BOOLEAN);

5. 二进制类型

  • BLOB(二进制大对象)
    • 用于存储二进制数据,如图片、文件等。
    • 示例:CREATE TABLE Images (Image BLOB);

6. 其他类型

  • ENUM(枚举)
    • 用于存储一组预定义的字符串值。
    • 示例:CREATE TABLE Users (Gender ENUM('Male', 'Female', 'Other'));
  • JSON(JSON 数据)
    • 用于存储 JSON 格式的数据。
    • 示例:CREATE TABLE Settings (Config JSON);

数据类型选择建议

  • 根据实际需求选择合适的数据类型:例如,如果某个字段只存储整数,就不要使用 VARCHAR
  • 考虑性能和存储空间:例如,SMALLINTINT 占用更少的空间,如果数据范围允许,优先使用更小的数据类型。
  • 确保数据的完整性和一致性:例如,使用 ENUM 可以限制字段的值范围,避免无效数据。
http://www.dtcms.com/a/194507.html

相关文章:

  • 【日撸 Java 三百行】Day 18(循环队列)
  • 101. 对称二叉树
  • MGX:多智能体管理开发流程
  • 时钟产生的公共模块示例
  • C++动态内存分配
  • 【AI面试秘籍】| 第11期:大模型“复读机“难题的破局之道
  • Vue百日学习计划Day9-15天详细计划-Gemini版
  • STM32 ADC+DMA+TIM触发采样实战:避坑指南与源码解析
  • 如何有效的开展接口自动化测试?
  • 面试题:详细分析Arraylist 与 LinkedList 的异同
  • 【Spring AI】本地大模型接入MCP实现联网搜索
  • 综合项目:博客
  • Python之三大基本库——Matplotlib
  • 对称二叉树的判定:双端队列的精妙应用
  • 源码:处理文件格式和字符集的相关代码(3-3)
  • Spring WebFlux与Quarkus实战:云原生微服务开发的两大主流框架深度解析
  • 一分钟了解机器学习
  • Linux系统启动相关:vmlinux、vmlinuz、zImage,和initrd 、 initramfs,以及SystemV 和 SystemD
  • 割点与其例题
  • 消防应急处置管理的全流程概述
  • NLP双雄争霸:GPT与BERT的生成-理解博弈——从技术分野到产业融合的深度解码
  • C++:单例模式
  • 【数据仓库面试题合集①】数据建模高频面试题及解析
  • 索恩格汽车SEG Automotive EDI 需求分析
  • Unity3D 游戏编程内存优化技巧
  • linux下tcp/ip网络通信笔记1,
  • Android 中 显示 PDF 文件内容(AndroidPdfViewer 库)
  • 7. 进程控制-进程替换
  • 科技项目验收测试对软件产品和企业分别有哪些好处?
  • 填孔即可靠:猎板PCB如何用树脂塞孔重构高速电路设计规则