第三章

AAI脑图#3656472026-05-14 02:49
11510

内容详情

一、数据类型(必背)

1.数值型

  • 整数类
    • INT
      • 适用场景
        • 主键/ID首选
    • BIGINT
      • 适用场景
        • 大数值
  • 小数类
    • DECIMAL(M,D)
      • 特点
        • 无精度丢失
      • 适用场景
        • 存金额
    • 禁用提示
      • 避免用FLOAT/DOUBLE

2.日期型

  • DATE
    • 特点
      • 仅存日期
  • DATETIME
    • 特点
      • 日期+时间
  • TIMESTAMP
    • 特点
      • 自动更新
      • 时区敏感

3.字符串型

  • CHAR(n)
    • 特点
      • 固定长度
    • 适用场景
      • 手机号/身份证
  • VARCHAR(n)
    • 特点
      • 可变长度
    • 适用场景
      • 用户名/描述
  • TEXT
    • 适用场景
      • 大文本(文章内容)

二、表的约束(SQL必考)

约束列表+说明+语法

  • NOT NULL
    • 作用
      • 字段不能为空
    • 语法示例
      • name VARCHAR(20) NOT NULL
  • DEFAULT
    • 作用
      • 设置默认值
    • 语法示例
      • gender VARCHAR(2) DEFAULT '男'
  • UNIQUE
    • 作用
      • 字段值不重复
    • 语法示例
      • phone CHAR(11) UNIQUE
  • PRIMARY KEY
    • 作用
      • 非空+唯一,表中唯一标识
    • 语法示例
      • id INT PRIMARY KEY

三、自动增长 AUTO_INCREMENT

作用

  • 主键自动递增,无需手动赋值

规则

  • 规则1
    • 必须搭配主键/唯一键使用
  • 规则2
    • 一张表只能有一个自增字段
  • 规则3
    • 删除数据后,自增序列不会回退

四、字符集与校对集

字符集

  • 推荐选择
    • utf8mb4
    • 优势
      • 支持所有中文
      • 支持emoji
      • 避免乱码

校对集

  • 推荐选择
    • utf8mb4_general_ci
    • 特点
      • 不区分大小写
      • 通用

五、核心建表模板(必背)

完整SQL代码

模板结构解析

  • 引擎指定
    • ENGINE=InnoDB
  • 字符集指定
    • DEFAULT CHARSET=utf8mb4

六、易错点

易错点1

  • 金额字段必须用DECIMAL,不能用浮点型

易错点2

  • NULL和空字符串''不是同一个值

易错点3

  • 主键=非空+唯一,一张表只能有一个主键

易错点4

  • 乱码问题优先检查字符集是否为utf8mb4