变长字符串,使用时我们必须设定其长度,最大值”理论值”65535个,实际上最大只能存65533个,但考虑到存储的字符编码的不同,也会有进一步的减少。比如:
此类型的实际长度是存储内容决定,而设定的值是最多可存储的字符个数。
注意:这里的存储限制,其实都来源于一个表格的”一行”的数据存储的最大容量显示。
定长字符串,使用时需要设定其长度,如果不设定,默认是1,最大理论值是255个。
定长字符串,适用于存储的数据都是可遇见的明确的固定长度的字符,比如手机号,身份证号,但是在实际存储的时候,如果少于设定的值,也可以存储,但会使用空格填充空余部分。
单选项字符串数据类型。它非常适用于存储表单界面中的”单选项值”,它设定的时候,需要给定”固定的几个选项” 存储的时候就只存储其中的一个值。
形式如下:
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("选项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)。
当前表中内容:
“长文本”字符类型,通常,其存储的类型不占距表格中行的数据容量限制,其本身不占距表中一行的数据容量的限制,其本身最长可存储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学习笔记 ^ - ^