zoukankan      html  css  js  c++  java
  • MySQL | 存储引擎与数据类型

    1、存储引擎

    1.1、什么是存储引擎

    数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。MySQL的核心就是存储引擎。

    1.2、MySQL支持的存储引擎

    MySQL5.7支持的存储引擎有InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE等。可以使用SHOW ENGINES语句查看系统所支持的引擎类型。
    InnoDB是系统的默认引擎,支持可靠的事务处理。使用语句SET default_storage_engine=<存储引擎名>可以修改数据库临时的默认存储引擎。

    2、数据类型

    数据类型(data_type)是指系统中所允许的数据的类型。数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。

    2.1、整数类型

    类型名 说明
    TINYINT 很小的整数
    SMALLINT 小的整数
    MEDIUMINT 中等大小的整数
    INT(INTEGER) 普通大小的整数
    BIGINT 大整数

    2.2、浮点数类型和定点数类型

    类型名 说明
    FLOAT(M,N) 单精度浮点数
    DOUBLE(M,N) 双精度浮点数
    DECIMAL(M,D) 压缩的浮点数
    DEC 压缩的浮点数
    浮点数类型和定点类型都可以用(M,N)来表示,其中M称为精度,表示总共的位数;N称为标度,表示小数的位数。不论是定点还是浮点数,如果用户指定的精度超出精度范围,则会四舍五入进行处理。FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度(由计算机硬度和操作系统决定),DECIMAL如果不指定精度,默认为(10,0)。浮点数相对于定点数的优点是在长度一定的情况下,浮点数能够表示更大的范围,缺点是会引起精度问题。

    2.3、日期和时间类型

    类型名 日期格式 取值范围
    YEAR YYYY 1901~2155
    TIME HH:MM:SS -838:59:59~838:59:59
    DATE YYYY-MM-DD 1000-01-01~9999-12-3
    DATETIME YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~9999-12-31 23:59:59
    TIMESTAMP YYYY-MM-DD HH:MM:SS 1980-01-01 00:00:01 UTC~2040-01-19 03:14:07 UTC

    2.4、字符串类型

    类型名 说明
    CHAR(M) 固定长度非二进制字符串
    VARCHAR(M) 变长非二进制字符串
    TINYTEXT 非常小的非二进制字符串
    TEXT 小的非二进制字符串
    MEDIUMTEXT 中等大小的非二进制字符串
    LONGTEXT 大的非二进制字符串
    ENUM 枚举类型,只能有一个枚举字符串值
    SET 一个设置,字符串对象可以有0个或者多个SET

    2.5、二进制类型

    类型名 说明
    BIT(M) 位字段类型
    BINARY(M) 固定长度二进制字符串
    VARBINARY(M) 可变长度二进制字符串
    TINYBLOB(M) 非常小的BLOB
    BLOB(M) 小的BLOB
    MEDIUMBLOB(M) 中等大小的BLOB
    LONGBLOB(M) 非常大的BLOB
  • 相关阅读:
    Java入门
    Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8
    pypy3.8安装
    asyncio执行阻塞代码
    linux安装go
    python消费rabbitmq
    绑定进程到指定cpu运行
    负载均衡算法
    django版本规划
    FastAPI WebSocket 简单演示
  • 原文地址:https://www.cnblogs.com/Cyzhouke/p/13733125.html
Copyright © 2011-2022 走看看