MySql(十九)数据类型的介绍

文章目录

数据类型
    常见的数据类型
    整型
    小数
    字符型
    日期型

数据类型

常见的数据类型

  1. 数值型:整型、小数(定点数、浮点数)
  2. 字符型:较短的文本:char、varchar;较长的文本:text、blob(较长的二进制数据)
  3. 日期型

整型

整型类型字节范围
tinyint1有符号:-128127;无符号:0255
smallint2有符号:-3276832767;无符号:065535
mediumint3反正很大,不用记住
int4反正很大,不用记住
bigint反正很大,不用记住

 1.如何设置有符号和无符号(默认是有符号的)

create table student(

​    t1 int, //有符号

​    t2 int unsigned    //无符号

);

2.如果输入的数据超出对应整型的范围会怎么样

会报out of range异常,并且插入的是临界值(0或对应整型的最大值)

3.如果不设置长度,则代表的是默认的长度;长度代表的是显示数据的最大宽度 ,如果长度不够则在左边用0填充但必须搭配zerofill使用;和存储范围无关

create table student(

​    //如果插入数据409显示为:409

​    t1 int(4),

​    ///如果插入数据409显示为:00409

​    t2 int(5) zerofill

);

小数

浮点型

float(M,D)

double(M,D)

浮点数类型字节范围
float 4反正很大,不用记住
double 8 反正很大,不用记住

 定点型

dec(M,D)

decimal(M,D)

定点类型字节 范围
DEC(M,D)M+2最大取值范围和double相同
DECIMAL(M,D)M+2由M和K绝定

浮点型和定点型的特点:

1.M:整数部位+小数部位;D:小数部位(超出范围则插入的是临界值)
eg:

f1—>float(5,2) f2—>double(5,2)f3—>decimal(5,3)
123.12–>123.12123.12–>123.12123.12–>123.12
123.125–>123.13123.125–>123.13123.125–>123.13
123.1–>123.01123.1–>123.01123.1–>123.01
1234.12–>999.991234.12–>999.991234.12–>999.99
12.12–>012.12 12.12–>012.1212.12–>012.12

2.M和D都可以省略:float和double是根据插入数据的大小来确定精度;decimal中的默认M为10,D默认0
3.定点型的精确度较高,如果要求插入的数值精度较高则建议使用定点型(比如:货币运算)
4.选择数据类型的原则:类型越简单越好,能保存数据的类型越小越好

字符型

  1. 较短的文本:char 、 varchar
  2. 较长的文本:text、blob
  3. 其他:

         binary和varbinary:保存较短的二进制

         enum:保存枚举

         set:保存集合

字符串类型 特点最多字符数描述及存储需求 效率
char(M)固定长度的字符 M(可以省略,默认为1)M为0~255之间的整数
varchar(M)可变长度的字符M(不可以省略)M为0~65535之间的整数 低

     

日期型

日期和时间类型字节最小值最大值
date(日期) 41000-01-019999-12-31
time(时间)3-838:59:59838:59:59
datetime(日期+时间)81000-01-01 00:00:009999:12-31 23:59:59
year(年)119012155
timestamp(日期+时间)4197001010800012038年的某个时刻

datetime和timestamp的区别

  1. timestamp支持的时间范围较小;datetime支持的时间范围较大
  2. timestamp和实际时区有关,更能反映实际的日期;datetime只能反映出插入时的当地时区
  3. timestamp受mysql版本和sqlmode的影响很大

 

本文原文地址:https://blog.youkuaiyun.com/qq_43952245/article/details/90573842 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值