当前位置: 代码迷 >> 综合 >> 江哥MySQL视频学习笔记-第05章 MySQL数据类型-17-MySQL-数据类型(理解)
  详细解决方案

江哥MySQL视频学习笔记-第05章 MySQL数据类型-17-MySQL-数据类型(理解)

热度:48   发布时间:2024-02-01 18:20:27.0

1、MySQL为什么要提供数据类型?

如果没有数据类型,那么MySQL就不知道需要分配多大的存储空间来存储你的数据,过大会浪费,会造成资源浪费,体积变大效率变低,过小可能导致数据溢出不能完整的保存数据,所以MySQL提供数据类型的目的是为了让我妈合理的分配存储空间,降低数据库的体积,为了让我们合理的分配存储空间,完整的保存数据,为了更好的对数据库进行优化

2、MySQL中哪些数据类型?

-整型类型/浮点类型/定点类型/字符类型/文本类型/枚举类型/集合类型/日期类型/布尔类型

 

3、整数类型 - 专门用来保存整数的

TINYINT               1字节   (-128,127)(0,255)      小整数值

SMALLINT           2字节   (-32768,32767)(0,65535)大整数值

MEDIUMINT        3字节   (-8388608,8388607)(0,16777215)大整数值

INT或INTEGER   4字节   (-2147483648,2147483647)(0,4294967295)大整数值

BIGINT                 8字节   (-9223372036854775808,9223372036854775807)(0,18446744073709551615)大整数值

注意点:

  -MySQL中的整型和其他编程语言的整型一样,也区分有符号和无符号

     +默认情况下整型就是有符号的

     +我们可以在数据类型的后面加上unsigned让数据类型变成无符号的

  -在设计数据库的时候,一定要合理的使用数据类型

      +例如:我们要保存一个人的年龄

      +我们应该使用TINYINT类型,因为人最多活到255岁已经上天了,所以使用最小的整型即可

      +如果使用其他的整型,就会造成资源浪费,数据库体积变大,效率变低  

  -在保存数据的时候,如果超出了当前数据类型的范围,那么就会报错

      例如:

      create table person(

          id int,

         age tinyint

     );

INSERT INTO person Values(1,-128);

INSERT INTO person Values(2,127);

前面两行均可正常插入

INSERT INTO person Values(1,128);

这一行插入数据报错

-在设置整型的时候,还可以设置整型数据将来的位宽

    +例如:现在设置将来显示整型的位宽是2,现在存储的数据1,那么将来查询出来的数据就会显示成 1;

    +  2020-2-3   -->   2020-02-03

create table person3(

     id int,

    age tinyint(2)  ZEROFILL

);

如果存储的数据没有指定的位宽,那么就会自动补空格或者0,如果大于或者等于了指定的位宽,毛都不做。

  相关解决方案