数据库的数据类型

Posted jianhaozhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库的数据类型相关的知识,希望对你有一定的参考价值。

数据存储引擎

  涉及到数据存储的代码,我们称之为数据引擎

  mysql中支持多种数据引擎

    查看mysql中所有支持的数据引擎的语法是

      show engines;

技术分享图片

  在mysql中默认的搜索引擎为InnoDB

创建表的完整语句

  create table 表名(字段名 数据类型[(长度) 约束条件])

    其中[]中的可以不填写,不填写时表示使用有默认值.

 

  提示:其中的长度表示的是显示的长度,如果超过该长度,就会丢弃超过的部分

 

数据类型

  整型

    数据类型  tinyint  smallint  mediumint  int  bigint

       字节数    1    2      3     4   8

  1 默认情况下整型有符号,需一个二进制来存符号

  2 给整型加上约束条件 unsigned 来表示无符号

  3 如果数据超过范围,超出部分就会丢弃

  

  以上特征的出现是因为mysql处于非严格模式

    查看当前的模式  show variables like "sql_mode";

技术分享图片

    修改为默认模式  set global sql_mode = "STRICT_TRANS_TABLES";

  长度限制对于整型的意义:

    1 长度限制的是显示的宽度

    2 如果你的数据超过了显示的宽度,就会舍弃掉超出的部分

    3 若不足mysql会自动的用空格补全也可以用0补全语法为:

      create table 表名(id int(5) zerofill);

浮点型

  数据类型  float  double  decimal  

  字节数    4    8    手动指定

    相同点:小数部分最大长度都是30,float和double整体最大长度255

    不同点:decimal的整体最大长度是65,float和double都是不准确的,而decimal是准确的

  给浮点型设置宽度:

    例如:

      float(m,n)

      m表示的是整体的长度

      n表示的是小数部分的长度

 

字符型

  char  定长字符

  varchar   变长字符

  char       无论你存储的数据有多长,占用的容量都一样

  varchar  存储的数据有多长就占用多长

        由于是可变的,存入硬盘中,无法知道数据的开头和结尾,所以会在数据的头加一位置用于存储数据的长度信息

       能支持的最大长度是65535,用于数据长度信息的数据为最大占2个字节

 

  char和varchar的优缺点:

    char:

      存取效率高

      浪费空间

    varchar:

      存取效率低

      节省空间

  

  模糊查询:

    select * from 表名 where 字段like "张%"

      %任意个数的任意字符

      _1个任意字符

大文本类型

  TEXT系列 TINYTEXT TEXT MEDIUMTEXT LONGTEXT 文本是带有编码

    BLOB 系列 TINYBLOB BLOB MEDIUMBLOB LONGBLOB 也是字符数据 但是不带编码

    二进制类型: 用于存储多媒体数据 比如视频 但是我们一般不会将多媒体数据存到数据 而是存储文件路径地址

     BINARY系列 BINARY VARBINARY 存储二进制数据

时间:

  time  时分秒  HH:MM:SS

    year  年份      

    date  年月日  Y-M-D  是字符串形式

    datetime 日期加时间    年份最大是9999

    timestamp 时间戳     年份最大是2037   当插入为null时,会自动插入当前的时间,当更新数据时,会自动的更新当前的时间

    datetime和timestamp都可以用now()来获取当前的时间

枚举

  用于描述一个已知范围的数据 例如性别等

     enum("man","woman","other")

  1 枚举中的值只能是字符串

  2 添加的数据只能是已经出现在枚举中的值

  3 你也可以使用枚举值的序号来插入值

集合

  用于描述一堆数据 比如你的兴趣爱好

  set("watch movie","listen music","play")

以上是关于数据库的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

JAVA的基本数据类型和引用数据类型的区别

1.19.6.数据类型数据类型列表结构化的数据类型其他数据类型数据类型注解

java语言的所有基本数据类型指的啥 ?引用数据类型指的啥?

JS简单数据类型和复杂数据类型

数据库中的数据类型与java语言中的数据类型

Sql Server之数据类型详解