zoukankan      html  css  js  c++  java
  • MySQL数据库学习四 存储引擎和数据类型

    4.1存储引擎

       1. 查看MySQL DBMS所支持的存储引擎

    SHOW ENGINES;

    SHOW VARIABLES LIKE 'have%';
    

    Yes表示支持,No表示不支持,DISABLED表示支持但是未开启。

      2. 查询默认存储引擎

    SHOW VARIABLES LIKE 'storage_engine%';
    

      3. 修改默认存储引擎

    打开my.ini配置文件,修改[mysqld]中的default-storage-engine参数,重启MySQL服务。

    4.2 数据类型

      4.2.1 整数类型

    支持标准SQL中的所有整数类型(SMALLINT和INT/INTEGER),扩展增加了TINYINT、MEDIUMINT和BIGINT。

    整数类型 字节 最小值 最大值
    TINYINT 1

     -128

     0

     127

     255

    SMALLINT 2

     -2^15

     0

     2^15-1

     2^16-1

    MEDIUMINT 3

     -2^23

     0

     2^23-1

     2^24-1

    INT/INTEGER 4

     -2^31

     0

     2^31-1

     2^32-1

    BIGINT 8

     -2^63

     0

     2^63-1

     2^64-1

    TINYINT类型占一个字节,最大值二进制:01111111,即127;最小值二进制:10000000,即-128.

      4.2.2 浮点数类型、定点数类型和位类型

    1. 浮点型类型FLOAT、DOUBLE

    浮点型类型 字节 最小值 最大值
    FLOAT 4  ±1.75494351E-38  ±3.402823466E+38
    DOUBLE 8  ±1.225073858072014E-308  ±1.7976931348623157E+308

    当需要精确到小数点后10位以上,需要选择DOUBLE类型。

    2. 定点数类型DEC(M,D)

    定点数类型 字节 最小值 最大值
    DEC(M,D)/DECIMAL(M,D) M+2 与DOUBLE相同 与DOUBLE相同

    FLOAT、DOUBLE数据类型存储数据时存储的是近似值,而DECIMAL存储的是字符串,因此提供了更高的精度。

    3. 位类型BIT(M)

    位类型 字节 最小值 最大值
    BIT(M) 1~8 BIT(0) BIT(64)

    位类型的字节数为M,M的取值范围为1~8.

      4.2.3 日期和时间类型

    日期和时间类型 字节 最小值 最大值
    DATE 4 1000-01-01 9999-12-31
    DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59
    TIMESTAMP 4 19700101080001 2038年的某个时刻
    TIME 3 -835:59:59 838:59:59
    YEAR 1 1901 2155

    如果需要经常插入或者更新日期为当前系统时间,一般会使用TIMESTAMP类型;

    如果要表示年份,一般会使用占用空间更少的YEAR类型。

      4.2.4 字符串类型

    1. CHAR系列

    CHAR系列字符串类型 字节 描述
    CHAR(M) M M为0~255之间的整数
    VARCHAR(M) M M为0~65535之间的整数

    如果要存储少量字符串,则可以选择CHAR和VARCHAR类型。如果存储字符串长度经常发生变化,则可以选择VARCHAR类型,否则选择CHAR类型。

    2. TEXT系列

    TEXT系列字符串类型 字节 描述
    TINYTEXT 0~255 值的长度为2个字节
    TEXT 0~65 535 值的长度为2个字节
    MEDIUMTEXT 0~16 777 215 值的长度为4个字节
    LONGTEXT 0~4 294 967 295 值的长度为8个字节

    如果需要存储大量字符串(存储文字内容的纯文本),则可以选择TEXT系列字符串类型。

    3. BINARY系列

    BINARY系列字符串类型 字节 描述
    BINARY(M) M 允许长度为0~M
    VARBINARY(M) M 允许长度为0~M

    如果需要存储少量二进制数据,可以选择BINARY和VARBINARY类型。如果存储二进制数据长度的发生变化,则可以选择VARBINARY类型,否则选择BINARY类型。

    前者可以存储二进制数据(例如图片、音乐或视频文件),后者只能存储字符数据。

    4. BLOB系列

    BLOB系列字符串类型 字节
    TINYBLOB 0~255
    BLOB 0~2^16-1
    MEDIUMBLOB 0~2^24-1
    LONGBLOB 0~2^32-1

    如果需要存储大量二进制数据(电影等视频文件),则可以选择BLOB系列字符串类型。

  • 相关阅读:
    【原】webpack--loaders,主要解释为什么需要loaders和注意事项
    【原】通过npm script运行webpack的原理
    原生js深拷贝函数
    git add 添加错文件的撤销方法
    item2 快捷键
    sudo su 和sudo -s的区别
    nvm常用命令
    【雅思】【口语】Describe a product you bought and felt happy
    【雅思】【口语】Help others
    【雅思】【口语】
  • 原文地址:https://www.cnblogs.com/zengzhihua/p/4565681.html
Copyright © 2011-2022 走看看