ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux下学【MySQL】全部常用类型详解( 配实操图 通俗易懂 ) [打印本页]

作者: 宝塔山    时间: 2024-12-19 05:05
标题: Linux下学【MySQL】全部常用类型详解( 配实操图 通俗易懂 )

逐日鼓励:“当你觉得你会幸运时,幸运就会眷顾你,所以努力吧,只要你把事情做好,并觉得你会幸运,你将会变得幸运且充实。”
    绪论​:
本章继承学习MySQL的知识,本章主要讲到mysql中的全部类型(本篇本来是之前出的,结果写了忘记发了,存到了如今抱歉抱歉~),mysql中的类型大致能分为数值、时间、string、文本和二进制类型,它们下面都另有很多细节,下面我将主要从实操方面带你去领略mysql类型的细节。后续将继承更新mysql的束缚(下)将快速更新,敬请期待!
————————
早关注不迷路,话不多说安全带系好,发车啦(发起电脑观看)。

——————
本章因为大多为插入和创建表,而这些在之前已经讲过,不懂的可以看一下这篇表的必备使用blog,所以代码展示就会较少(因为主要就是在创建表时进行了设置类型,然后观察插入的细节,就不冗余的写代码了)
  
MySQL数据类型分类

大致如下图:

其中各个类型的范围:


1. tinyint类型

附:
     2. bit类型

例:假如M = 1 也就是 1个比特位 就只能插入0 1
3. float浮点数类型

4. decimal

5. 字符串类型

5.1 char

5.2 varchar变成字符串


详细如下图(当中文类型为utf-8):

5.3 比力char和varchar


如何选择定长或变长字符串?

6. 日期和时间类型

常用的日期有如下三个:
1. date:

日期 ‘yyyy-mm-dd’ ,占用三字节
2. datetime:

时间日期格式 ‘yyyy-mm-dd HH:ii:ss’ 表树模围从 1000 到 9999 ,占用八字节
3. timestamp :

时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和datetime 完全同等,占四字节
三种时间类型类型实操

  1. create table if not exists t11(t1 date,t2 datetime,t3 timestamp);
复制代码

插入数据:
  1. date: xxxx-xx-xx
  2. datetime:xxxx-xx-xx xx:xx:xx
  3. insert into t11(t1,t2) values('2000-10-01','1949-10-01 08:00:00');
复制代码
对于时间戳来说不须要本身插入时间,当修改表内的属性时就会主动更改。

可以类似的理解成评论的实现方法:
当你发送评论时就会主动的带上你的时间,而这个时间一样平常就是使用了datestamp类型

7. enum(摆列)和set(集合)

例:
有一个调查表votes,须要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选),(男,女)[单选]。
其中性别就用enum类型(因为只能单选一个)、爱好就可以用set类型(他是可以多选的)
详细如下:


1. 当enum类型处插入别的其他值时就会报错:


2. 在enum中的类型,可以用下标表示插入数据

他是从1开始的(例如:男女的话下标就分别是1 2)


3. set的插入

使用方法和enum类似,同样不能使用超出范围的数据
不同于enum的是可以同时设置多个参数,而且以逗号区分:
  1. insert into votes values('曹操',1,'乒乓球,足球,游泳');
  2. 其中的1 在就enum中表示 男
  3. 而set中可以插入多个值
复制代码

4. set用数字来插入

但留意的是该数字并不是下标==,这个数字是和元素的个数有关的位图(例如下图set有5中类型,那么它的位图就有5个:00000,留意的是位图的看法和正常的二进制是相反的

   为什么说是相反的因为:
当值为7时:11100(就代表取出前三个元素),正常二进制的7:00111,而此处的7我们反过来看:11100(也就对应着所要元素位置)

  5. 对enum和set类型的查找和一些细节处理

  1. select * from votes where gender=2;//查询votes表中的女
复制代码

2. set类型能使用下标和直接查询

但留意的是它不能查找出有多个爱好中包含羽毛球的人(背面增补)
通过上两个案例来看,发现对set类型来说,当在一行数据中的set类型有多个值时,若直接查找其中的某一个值,是无法找到的:
因为select是直接看全部元素的,并不会判定其中是否包含。
处理方法:

本章完。预知后事如何,暂听下回分解。
假如有任何问题欢迎讨论哈!
假如觉得这篇文章对你有所帮助的话点点赞吧!
连续更新大量MySQL细致内容,早关注不迷路。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4