mysql 数据类型

mysql数据类型主要分3大类:数字型,字符型,时间型;

数字型

1、整数类型

这里写图片描述
整数类型字段的设定形式:

类型名【(M)】【unsigned】 【zerofill】

说明:

  • M表示设定该整数的“显示长度”,即select输出的时候,123可能显示为000123(假设M为6)
  • unsigned用于设定该整数为“无符号数”,其实就是没有负数。
  • zerofill用于设定是否填充0到一个数字的左边,此时,需与设定的长度M配合使用。
  • 如果设置了zerofill,则自动也就表示同时具备了unsigned修饰
小数类型
  • float:单精度浮点型,使用4个字节存储数据,其精度大约只有6-7个有效数字数位;
  • double:双精度浮点型,使用8个字节存储数据,其精度大约只有15个有效数字数位;
  • decimal:定点小数类型,整数部分最长可以有65位,小数部分最长可以有30位。一般设置格式为:decimal(总位数,小数部分位数)

字符类型

mysql中的字符串,应该使用“单引号”引起来。

1、varchar类型:

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

例如:

  • 如果存储中文gbk,则最多是65533/2个;
  • 如果存储中文utf8,则最多是65533/3个;

注意:
1、此类型的实际长度是存储内容决定,而设定值只是表示最多可存储的字符个数。
2、这里的存储限制,其实都来源于一个表格的“一行”的数据存储最大容量限制:65535。

2、char类型:
  • 定长字符串;使用时通常需要设定其长度,如果不设定,默认是1.最大理论长度是255个。
  • 定长字符串适用于存储的数据都是可预见的明确的固定长度的字符,比如手机号,中国邮政编码
  • 实际存储的时候,如果少于设定长度,也能存,但都会补空格填满。
3、enum类型:
  • 单选项字符串数据类型。它非常适合于存储表单界面中的“单选项值”;
  • 它设定的时候,是需要给定“固定的几个选项”,然后存储的时候,就只存储其中一个值;
形式如下:
enum(“选项1”, “选项2”,  “选项3”,  ..... );
实际内部:

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

写入数据形式:

可以用该选项字符串本身,也可以用对应的数字:

4、set类型:
  • 多选项字符串数据类型。它非常适合于存储表单界面中的“多选项值”;
  • 它设定的时候,也需要给定“固定的几个选项”,然后存储的时候,就可以存储其中若干个值;
形式如下:
set(“选项1”, “选项2”,  “选项3”,  ..... );
实际内部:

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

写入数据形式:

可以用该选项字符串并用逗号分开本身,也可以用对应的数字的和:

实例:
1、创建enum 和 set 数据表

这里写图片描述

2、插入数据

这里写图片描述
这里写图片描述

解释

这里写图片描述

5、text类型:
  • 它称为“长文本”字符类型。通常,其中存储的数据不占据表格中的数据容量限制。其本身最长可存储65535个字符。
  • 其他同类字符类型:smalltext,tinytext, longtext。
其他(了解):
  • binary类型: 定长二进制字符串类型,里面存储的是二进制值;
  • varbinary类型: 变长二进制字符串类型,里面存储的是二进制值;
  • blob类型: 二进制数据类型,存的仍然是二进制值,但其适用于存储“图片”,“其他文件”等,但极少用!

时间类型

  • datetime类型:时间日期类型
  • date类型:日期类型
  • time类型:时间类型
  • year类型:年份类型
  • timestamp:时间戳类型

timestamp 时间戳类型:范围是1970年1月1日到2037年,主要用于INSERT 和 UPDATE时记录日期时间。
1:如果不分配值:自动设置为最近操作的日期和时间
2:分配NULL值:自动设置为当前的日期和时间
3:默认显示格式:’YYYY-MM-DD HH:MM:SS’
4:获得数字:在TIMESTAMP 列+0


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

这里写图片描述

查询出结果为

这里写图片描述

获得数字:在TIMESTAMP 列+0

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值