MySQL常见的数据类型

本文详细介绍了数据库中的数值型、字符型和日期型数据类型,包括整形(Tinyint到Bigint)、浮点数(Float到Decimal)、字符型(Char到Blob)以及日期时间类型(Date到Timestamp)。强调了数据类型的选取原则,如选择最简单的类型和最小的空间占用。此外,还提到了各种类型的特性和使用场景,如Char适合存储性别,Datetime不受时区影响等。
摘要由CSDN通过智能技术生成

前言:

数值型

  1. 整形
  2. 小数:
    1. 定点数
    2. 浮点数

字符型:

较短的文本charvarchar
较长的文本textblob (较长的二进制数据)

日期型:

datedatetimetimestamptimeyear

整形

Tinyint1
Smallint2
mediumint3
int/interger4
Bigint8

特点:
1,如果不设置有符号或者无符号,默认为有符号,如果想设置为无符号,需要加入unsigned关键字
2,如果插入的数值,超出了整形的范围,会报out of range 异常,并且插入临界值,
3,如果不设置长度,会有默认的长度
4,长度代表了显示的最大宽度,如果不够会用0来在左边做填充,但必须搭配zerofill使用

案例:如何设置无符号和有符号

create table text(
	t1 int,
	t2 int unsigned #无符号类型(就是没有负数)
);

除了Bigint 其他符号,下限是0,

小数

分类

浮点型定点型
float(M,D)dec(M,D)
double(M,D)decimal(M,D)

M:代表整数和小数加起来的总数
D:代表小数点后的位数
比如double(10,2),代表只能插入10个数字,但小数点后面保留2位数字
如果超过范围,则插入临界值

M和D都可以省略
如果是decimal,则m默认为10,D默认为0
如果是float和double,则会根据插入的数值的精度,来决定精度

定点性的精确度较高,如果要求插入的数值的精度较高,比如货币运算

create table tab_float(
	f1 float(5,2),
	f2 float(5,2),
	f3 decimal(5,2)
);

原则:所选择的类型,越简单越好,能保存数值的类型,越小越好

字符型

较短的文本较长的文本
chartext
varcharblob (较长的二进制数据)

特点:
char(m) , varchar(m) m的意思,最大字符数,
char:固定长度字符,可以省略,默认为1,比较耗费空间,效率高一点
varchar:可变长度字符,不可以省略,比较节省空间,效率低一点

存储性别,尽量用char

其他:
binary 和 varbinary用于保存较短的二进制
enum用于保存枚举
set用于保存集合

日期型

日期和时间类型字节最小值最大值特点
date41000-01-019999-12-31只保存日期
datetime81000-01-01 00:00:009999-12-31 23:59:59保存日期+时间
timestamp419700101080012038年某个时刻保存日期+时间
time3-838:59:59838:59:59只保存时间
year119012155只保存年
create table tab_date(
	t1 datetime,
	t2 timestamp
);

insert into tab_date values(now(),now());

注意:datetime 不受时区影响,timestamp 受时区影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值