【半夜学习MySQL】数据库中的数据类型(含数值类型、文本二进制类型、时间类型、String类型详谈)

在这里插入图片描述

🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。
🎯每天努力一点点,技术变化看得见


数据类型分类

在这里插入图片描述

数值类型

在这里插入图片描述
对于上述类型中,本文仅挑选具有代表性的类型进行演示讲述,余下类型与演示类型具有相似性

bit类型

基本语法:

bit[(M)]

★ps:该类型为位字段类型,M表示比特位数,范围为1到64。如果M被省略,默认为1

举例:
例子1:

create table TestBit(id int,b bit(8));
insert into TestBit values (1001, 65);
insert into TestBit values (1002, 66);
insert into TestBit values (1002, 67);

在这里插入图片描述
★ps:从上面结果可以发现:bit字段在显示时,是按照ASCII码对应得值进行显示的。

例子2:

create table TestBit_a(id int,b bit);
insert into TestBit_a values (1001, 1);
insert into TestBit_a values (1002, 0);
insert into TestBit_a values (1002, 1);

在这里插入图片描述
★ps:由于bit字段在显示时,是按照ASCII码对应得值进行显示的。而ASCII码为0和1的字符不可显,故上述select语句执行后,结果中并没有显示任何字符。

测试:
TestBit_a表的b字段只占一个比特位,因而b的取值只能为0或1↓↓↓
在这里插入图片描述
如果插入非0或1的值呢?如下图所示,插入2、-1后,mysql直接拒绝了用户的操作↓↓↓
在这里插入图片描述
★ps:如果我们向mysql特定的类型中插入不合法的数据,mysql一般都是直接拦截我们,不让我们做对应的操作。反过来,如果我们已经有数据被成功插入到mysql中了,一定插入的时候是合法的。

★ps:所以。mysql中,一般而言,数据类型本身也是一种:约束(倒逼程序员,让程序员尽可能正确的插入,约束使用者;另外,如果你不是一个很好的使用者,mysql也能保证数据插入的合法性)。就能保证数据库中数据是可预期、完整的。

使用的注意事项:
● 在没有显示给出bit的位数时,默认为1↓↓↓
在这里插入图片描述
●如果某个字段只存在两种取值,则可以使用0表示第一种取值,1表示另一种取值。从而可以使用bit(1)存储,可节省空间。例如:下表中的性别使用1个bit表示↓↓↓
在这里插入图片描述

tinyint类型

基本语法:

tinyint [unsigned]

举例:
有符号tinyint示例:

create table TestTinyint(num tinyint);
insert into TestTinyint values (127);
insert into TestTinyint values (-128);
insert into TestTinyint values (0);
select * from TestTinyint;

在这里插入图片描述
无符号tinyint示例:

create table TestTinyint_un(num tinyint unsigned);
insert into TestTinyint_un values (0);
insert into TestTinyint_un values (255);
insert into TestTinyint_un values (123);
select * from TestTinyint_un;

在这里插入图片描述

测试:
这里演示了有符号与无符号tinyint的取值边界,及越界后,mysql会拒绝插入
对有符号tinyint的测试:

insert into TestTinyint values (128);
insert into TestTinyint values (-129);

在这里插入图片描述
对无符号tinyint的测试:

insert into TestTinyint_un values (-1);
insert into TestTinyint_un values (256
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值