• JavaWeb开发之——DDL-操作表-数据类型(08)


    一 概述

    • MySQL数据类型
    • 创建案例-设计学生表

    二 MySQL数据类型

    2.1 MySQL支持类型

    MySQL支持多种类型,可以分为三类

    • 数值
    • 日期
    • 字符串

    2.2 MySQL数据类型-分类

    数值类型
    分类数据类型大小描述
    数值类型TINYINT1byte小整数值
    数值类型SMALLINT2byte大整数值
    数值类型MEDIUMINT3byte大整数值
    数值类型INT或INTEGER4byte大整数值
    数值类型BIGINT8byte极大整数值
    数值类型FLOAT4byte单精度浮点数值
    数值类型DOUBLE8byte双精度浮点数值
    数值类型DECIMAL小数值
    日期和时间类型
    分类数据类型大小描述
    日期和时间类型DATE3日期值
    日期和时间类型TIME3时间值或持续时间
    日期和时间类型YEAR1年份值
    日期和时间类型DATETIME8混合日期和时间值
    日期和时间类型TIMESTAMP4混合日期和时间值,时间戳
    字符串类型
    分类数据类型大小描述
    字符串类型CHAR0-255 bytes定长字符串
    字符串类型VARCHAR0-65535 bytes变长字符串
    字符串类型TINYBLOB0-255 bytes不超过255个字符的二进制字符串
    字符串类型TINYTEXT0-255 bytes短文本字符串
    字符串类型BLOB0-65535 bytes二进制形式的长文本数据
    字符串类型TEXT0-65535 bytes长文本数据
    字符串类型MEDIUMBLOB0-16777215 bytes二进制形式的中等长度文本数据
    字符串类型MEDIUMTEXT0-16777215 bytes中等长度文本数据
    字符串类型LONGBLOG0-4294967295 bytes二进制长度的极大文本数据
    字符串类型LONGTEXT0-4294967295 bytes极大文本数据

    2.3 说明

    • double类型要指定精度,第一个是数值类型的总长度,第二个是小数点后保留的位数如:score double(5,2)
    • 生日类型为date,如birthday date
    • name char(10):10个字符空间,存储性能高,浪费空间
    • name varchar(10):2个字符空间,存储性能低,节约空间

    三 创建案例-设计学生表

    3.1 需求

    设计一张学生表,请注重数据类型长度的合理性

    1. 编号
    2. 姓名,姓名最长不超过10个汉字
    3. 性别,因为取值只有2种可能,因此最多一个汉字
    4. 生日,取值为年月日
    5. 入学成绩,小数点后保留2位
    6. 邮件地址,最大长度不超过64
    7. 家庭联系电话,不一定是手机号,可能会出现-等字符
    8. 学生状态(用数字表示,正常、休学、毕业…)

    3.2 创建表

    mysql> create table tb_student(
        -> id int,
        -> name varchar(10),
        -> gender char(1),
        -> birthday date,
        -> score double(5,2),
        -> email varchar(64),
        -> tel varchar(15),
        -> status tinyint
        -> );
    Query OK, 0 rows affected, 1 warning (0.03 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3.3 查看表结构

    mysql> desc tb_student;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | id       | int         | YES  |     | NULL    |       |
    | name     | varchar(10) | YES  |     | NULL    |       |
    | gender   | char(1)     | YES  |     | NULL    |       |
    | birthday | date        | YES  |     | NULL    |       |
    | score    | double(5,2) | YES  |     | NULL    |       |
    | email    | varchar(64) | YES  |     | NULL    |       |
    | tel      | varchar(15) | YES  |     | NULL    |       |
    | status   | tinyint     | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    8 rows in set (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    Environment variables in Compose
    SharePoint Integrator Delphi版
    算法&数据结构 - 线性表之静态链表、循环链表、双向链表
    通过瑞利判据对显微镜物镜进行分辨率研究
    python访问多个文件夹并清除其中不符合要求的文件
    子线程的异常处理
    同步通信与异步通信有什么区别?
    Linux——操作指令(ls,cd,touch,mkdir,tree,pwd,rm,man,cp)
    RIS 系列 Beyond One-to-One: Rethinking the Referring Image Segmentation 论文阅读笔记
    CUDA学习笔记05:矩阵相乘
  • 原文地址:https://blog.csdn.net/Calvin_zhou/article/details/126862763