MySQL中的常用基本数据类型

    xiaoxiao2021-04-13  34

    MySQL中常用的数据类型:

    varchar :

    变长字符串,使用时我们必须设定其长度,最大值”理论值”65535个,实际上最大只能存65533个,但考虑到存储的字符编码的不同,也会有进一步的减少。比如:

    如果存储从中文gbk,则最多是65533/2个;如果存储中文utf-8,则最多存储65533/3个

    此类型的实际长度是存储内容决定,而设定的值是最多可存储的字符个数。

    注意:这里的存储限制,其实都来源于一个表格的”一行”的数据存储的最大容量显示。

    char :

    定长字符串,使用时需要设定其长度,如果不设定,默认是1,最大理论值是255个。

    定长字符串,适用于存储的数据都是可遇见的明确的固定长度的字符,比如手机号,身份证号,但是在实际存储的时候,如果少于设定的值,也可以存储,但会使用空格填充空余部分。

    enum :

    单选项字符串数据类型。它非常适用于存储表单界面中的”单选项值”,它设定的时候,需要给定”固定的几个选项” 存储的时候就只存储其中的一个值。

    形式如下:

    enum("选项1","选项2","选项3"……)

    实际内部:

    这些字符串的选项值对应的是如下的数字值:1、2、3、4、5……最多65535个选项

    使用enum作为sex的数据类型:

    create table tab_test_enum (id int primary key auto_increment,name varchar(10),sex enum('boy','girl'));

    向表中插入数据:

    第一种方式:

    insert into tab_test_enum (name,sex)values('wangke','boy');

    第二种方式:

    insert into tab_test_enum (name,sex)values('xiaohong',2);

    注:由于在内部,每一个选项值都对应着一个数字,因此这里我们可以直接插入数字。

    当前表中内容:

    set :

    多选字符串的数据类型。它非常适用于存储表单界面中的”多选项值“;它设定的时候,需要给定”固定的几个选项”,然后在存储的时候,就可以存储其中若干个值。

    形式如下:

    set("选项1","选项2","选项3"……)

    实际内部:

    这些字符串选项对应的是如下的数字值:1,2,4,8,16,……最多64个选项。

    创建表使用set作为hobby的数据类型:

    create table tab_test_set(id int primary key auto_increment,name varchar(10),hobbyset('coding','eat','play','sleep'));

    插入数据的两种方式:

    第一种方式:

    insert into tab_test_set(name,hobby)values('wangke','eat,play,sleep');

    第二种方式:

    insert into tab_test_set(name,hobby)values('xiaohong',14);

    两种方式插入的hobby的内容是一样的,第二种方式中的14是所有hobby选项值相加所得(2+4+8)。

    当前表中内容:

    text :

    “长文本”字符类型,通常,其存储的类型不占距表格中行的数据容量限制,其本身不占距表中一行的数据容量的限制,其本身最长可存储65535个字符

    其他同类字符串类型:smalltext,tinytext,longtext

    其他:

    binary类型: 定长二进制字符串类型,里面存储的是二进制值

    varbinary类型: 变长二进制字符串类型,里面存储的是二进制值

    blob类型: 二进制数据类型,里面存储的是二进制值,但其适用于存储”图片”,”其他文件”等,由于在数据库中操作的效率问题,极少使用。

    时间类型:

    datetime(时间日期类型)

    date(日期类型

    time(时间类型)

    year(年份类型)

    timestamp(时间戳类型):就是指一个时间的”数据值”–本质其实就是一个数字。它的一个重要作用:能够自动获得时间戳的数据值–相当于”now()”(注:这个字段通常不需要插入数据)

    注:在应用中,时间日期类型,再我们自己给定的数据情形下,需要使用’单引号’引起来,跟字符串一样。

    演示时间日期类型的字段的使用:

    /*像表中插入时间*/ insert into tab_time(my_datetime,my_date,my_time,my_year)value('2017-4-13 16:41:34','2017-4-13','16:41:34','2017');

    使用now()函数可以直接获取当前时间

    记录MySQL学习笔记 ^ - ^

    转载请注明原文地址: https://ju.6miu.com/read-669261.html

    最新回复(0)