当前位置: 首页 > 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 可以限制字段的值范围,避免无效数据。

相关文章:

  • 【日撸 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
  • 割点与其例题
  • 消防应急处置管理的全流程概述
  • 孟夏韵评《无序的学科》丨误读与重构的文化漂流
  • 专访|《内沙》导演杨弋枢:挽留终将失去的美好
  • 受关税政策影响,沃尔玛将上调部分商品在美售价
  • “16+8”“生酮饮食”,网红减肥法究竟靠谱吗?
  • 鄂州交警通报致1死2伤车祸:女子操作不当引发,已被刑拘
  • 秦洪看盘|指标股发力,A股渐有突破态势