首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
软件
运维软件
办公软件
书籍资源
技术陪跑营
重要信息
首页 运维教程数据库【MySQL】这是我见过最有用的MySQL数据类型面试题,面了无数家总结的

【MySQL】这是我见过最有用的MySQL数据类型面试题,面了无数家总结的

面试官缓缓走来,头上飘着几根白发,在行走中随风飘摇,看的让人有一种想帮他薅下来的冲动。
这次面试的岗位是自动化运维,面试官坐下来冲着面试者小王呵呵一笑, “来啦”! 简单的俩字就让人感觉到一丝震慑,仿佛一股真气扑面而来。

小王把简历提上去,报以微笑,“你好面试官,我是来面试自动化运维的,这个是我的简历。”

面试官没有 接简历,点了下头,示意小王把简历放到桌子上,缓缓道“你的情况我基本了解了,一面的面试官都已经给我说了,不知道你对数据库了不了解,比如你对MySQL数据类型了解多少。”

小王松了一口气,多亏来面试的时候看过,小王指着旁边的白板说“借我白板一用”,说着便径直走了过去,拉过白板,开始阐述他对数据类型的理解

关于MySQL数据类型

在官网上MySQL支持将近39种数据类型,常用的大致可以分为三类:数值、日期/时间和字符串(字符)类型。

1. 数值类型

数值类型就包含了整数类型和浮点数类型:
关于数值类型,我在这里画了一个表:

在这里插入图片描述

举例: 比如tinyint 类型, 占一个字节,有符号-138-137 无符号位 0-255
如果一个人的年龄是0-100 ,理论上就可以使用tinyint 无服务号,0-255 足够用了, 而且占得字节数少。

举例2: 设置一个字段类型为 float(6,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位

2. 日期和时间类型

在这里插入图片描述

3. 字符串类型

在这里插入图片描述
char 和varchar的区别

1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。

2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),

所以varchar(4),存入3个字符将占用4个字节。

区别如图:
在这里插入图片描述

使用建议:
1. 在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大,尤其是大数据量测试条件下。
2. 不需要把数据表设计的太过复杂,功能模块上区分或许对于后期的维护更为方便,慎重出现大杂烩数据表

面试官看着滔滔不绝的小王,按了暂停键,眉宇间带着微笑,仿佛要把小王收为弟子一样, “可以啊,小王,我在问几个问题吧”

面试官在白板上写上了几个问题:
1. MySQL的逻辑运算符的使用
2. 连接查询
3. MySQL忘记密码如何恢复
4. MySQL日志类型

你回头准备下这几个问题,然后再来讲一下,咱们这边不单单招聘自动化运维,还招聘MySQL数据库高级讲师,我觉得你很适合,好好准备。

总结

小王回到家,喜忧参半, 小王还不太确定自己要不要做高级讲师,但面试又不能听,算了先睡一觉吧,回头把面试官提的几个问题发到博客,也算对知识的一种总结嘛

本文链接:http://www.geekyunwei.com/1171.html

网友评论comments

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 公众号《极客运维之家》
扫二维码
扫二维码
返回顶部