【MySQL】从零开始:掌握MySQL数据库的核心概念(二)

当面对两个选择时,抛硬币总能奏效。并不是因为它总能给出对的答案,而是在你把它抛在空中的那一秒里。你突然就知道,你希望的结果是什么了。 

前言

  这是我自己学习mysql数据库的第二篇博客总结。后期我会继续把mysql数据库学习笔记开源至博客上。

  上一期笔记是关于mysql数据库的基础知识,没看的同学可以过去看看:

【MySQL】从零开始:掌握MySQL数据库的核心概念(一)-CSDN博客https://blog.csdn.net/hsy1603914691/article/details/146278882?sharetype=blogdetail&sharerId=146278882&sharerefer=PC&sharesource=hsy1603914691&spm=1011.2480.3001.8118

数据类型

数据约束 

1. 如果向mysql特定的类型中插入不合法的数据,mysql一般是直接拦截。

2. 反过来,如果已经有数据被成功插入到mysql中了,那么插入一定是合法的。

3. 所以在mysql中,数据类型本身也是一种数据约束。 

tinyint-smallint-int-bigint

1. tinyint数据范围:-2^7~2^7-1

2. tinyint unsigned数据范围:0~2^8-1

3. int数据范围:-2^31~2^31-1

4. int unsigned数据范围:0~2^32-1

5. 在mysql中,整型可以指定是有符号的和无符号的,默认是有符号的,可以通过unsigned来说明某个字段是无符号的。

bit 

1. bit(M): M表示每个值的位数,范围从164,如果M被忽略,默认为1

2. bit字段在显示时,是按照ASCII码对应的值进行显示,所以如果值太小,bit是不会显示出来的。 

3. 如果我们有这样的值:只有0和1两种值,这时可以定义bit(1),这样可以节省空间

float-decimal-double

1. float(m,d) : m指定显示的长度,d指定小数的位数

2. float在合法范围内,会发生四舍五入

3. decimal(m, d): m指定显示的长度,d指定小数的位数。

4. decimalfloat很像,但是有区别: floatdecimal表示的精度不一样,如果希望小数的精度高,推荐使用decimal

char-varchar  

1. char(L): 固定长度字符串,L是可以存储字符的长度,单位为字符,而非字节最大长度为255字符 

2. varchar(L): 可变长度字符串,L表示字符长度,最大长度为65535字节。但是有1-3个字节用于记录数据大小,所以说有效字节数65532。当我们的表的编码是utf8时,一个字符占 用3个字节,varchar(L)的参数L最大值是65532/3=21844字节

date-datetime-timestamp

1. date:日期'yyyy-mm-dd'

2. datetime :时间日期格式 'yyyy-mm-dd HH:ii:ss'
3. timestamp 时间戳 ,从 1970年 开始计算,格式和 datetime 完全一致。
4.  timestamp 在表格 发生修改时 ,会 自动更新时间 ,而 date datetime 需要自己 手动更新

enum-set 

1. enum枚举''单选''类型。

2. enum插入数据时,既可以输入选项,也可以输入编号,编号从1开始,最多到65535

3. set集合''多选''类型。

4. set插入数据时,尽量输入选项不推荐使用编号,非常不方便。

5. set查询数据 需要用到函数: find_in_set(sub,str_list) ,如果 sub str_list 中,则 返回编号 如果不在, 返回0

致谢

  感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值