很多数据类型,我们只需要掌握常见的就可以

    • varchar(最长255)

      • 可变长度字符串
      • 比较智能,节省空间
      • 会根据实际的数据长度动态分配空间

      • 优点:节省空间

      • 缺点:需要动态分配空间,速度慢
    • char(最长255)

      • 定长字符串
      • 不管实际的数据长度是多少
      • 分配固定长度的空间取存储数据
      • 使用不恰当的时候,可能会导致空间的浪费

      • 优点:不需要动态分配空间,速度快

      • 缺点:使用不当可能会导致空间的浪费
    • int (最长11)
      • 数字中的整数型,等同于java中的int
    • bigint
      • 数字中的长整数型,等同于java中的long
    • float
      • 单精度浮点型
    • double
      • 单精度浮点型
    • date
      • 短日期类型
    • datetime
      • 长日期类型
    • clob
      • 字符大对象
      • 最多可以存储4G的字符串
      • 比如:存储一篇文章,存储一个说明
      • 超过255个字符的都要采用CLOB字符大对象来存储
    • blob

      • 二进制大对象
      • 专门用来存储图片、声音、视频等流媒体数据
      • 往blob类型的字段中插入数据的时候,例如插入一个图片、视频等,需要使用IO流

      varchar 和 char 我们应该怎么选择
      在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char。
      当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar。

    date和datetime两个类型的区别?
    date是短日期:只包括年月日信息
    datetime是长日期:包括年月日时分秒信息

    1. drop table if exists t_user;
    2. create table t_user(
    3. id int,
    4. name varchar(32),
    5. birth date,
    6. create_time datetime
    7. );
    8. bith是短日期
    9. create_time是这条记录的创建时间:长日期类型
    10. MySQL短日期默认格式:%Y-%m-%d
    11. MySQL长日期默认格式:%Y-%m-%d %h:%i:%s
    12. insert into t_user(id,name,birth,create_time) values(1,'zhangsan','1999-10-01','2022-04-06 09:05:46');
    13. +------+----------+------------+---------------------+
    14. | id | name | birth | create_time |
    15. +------+----------+------------+---------------------+
    16. | 1 | zhangsan | 1999-10-01 | 2022-04-06 09:05:46 |
    17. +------+----------+------------+---------------------+
    18. MySQL当中怎么获取系统当前时间?
    19. now()函数 并且获取的是时间带有时分秒信息,是长日期类型(datetime类型)
    20. insert into t_user(id,name,birth,create_time) values(2,'lisi','1999-10-01',now());
    21. +------+----------+------------+---------------------+
    22. | id | name | birth | create_time |
    23. +------+----------+------------+---------------------+
    24. | 1 | zhangsan | 1999-10-01 | 2022-04-06 09:05:46 |
    25. | 2 | lisi | 1999-10-01 | 2022-04-06 09:09:31 |
    26. +------+----------+------------+---------------------+

    数字类型整数: tinyint、smallint、mediumint、int、bigint
    浮点数: float、double、real、decimal
    日期和时间: date、time、datetime、timestamp、year
    字符串类型字符串: char、varchar
    文本: tinytext、text、mediumtext、longtext
    二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob