百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

十个你必须会的mysql面试题

itomcoil 2025-01-09 13:34 27 浏览

什么是SQL?

结构化的查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。

作用是用于存储数据、查询、更新和管理关系型数据库

SQL中的约束有哪几种?

1、非空约束 not null。用来控制字段中的值不能为空(null)

2、唯一约束 unique 。用来控制字段中的值唯一,不允许重复

3、主键约束 primary key。用来唯一的标识某个列,不允许为空,不允许重复

4、外键约束 foreign key。用来对应参照完整性,建立两个表之间的链接关系。

5、默认约束 default 。用来指定某个列的默认值。

drop、delete、truncate的区别


drop

delete

truncate

类型

DDL

DML

DDL

回滚

不可回滚

可回滚

不可回滚

删除

内容

删除表、删除库

删除表结构

删除表中的数据

保留表结构

删除表中所有数据

保留表结构

varchar(20)中的20代表什么意思?int(20)中的20代表什么意思?

varchar(20)表示最多可以存放20个字符

int(20)表示最大显示宽度为20,但是在内存中只占4个字节

索引的优点有哪些?缺点有哪些?

优点:

1、加快查询数据的查询速度

2、提高系统的性能

缺点:

1、在创建索引和维护索引时需要耗费大量的时间成本

2、索引会占用物理存储空间

事务的4大特性有哪些?

1、原子性。它是事务的最小执行单位,不可以再分割。用来保证一组动作要么都执行,要么都不执行。

2、一致性。一组事务执行的前后数据必须保持一致。

3、隔离性。多个用户同时访问数据库时,每个用户的事务不被其他用户的事务干扰。

4、持久性。当事务被提交以后,其对数据的修改是持久保存的,不被其他任何问题影响。

什么是死锁?如何处理死锁?

死锁是指两个或两个以上的进程在执行过程中,因为竞争共享资源而造成的互相等待的现象。

为了避免出现死锁现象,可以设置超时时间,即超时后自动释放掉。也可以发起死锁检测,将其中的一个事务进行回滚,让其他事务正常执行。

什么是3范式?

第一范式指的是数据库表中的任意属性都具有原子性,不可以进行分割

第二范式指的是对记录的唯一性约束,要求记录要有唯一标识

第三范式指的是对字段冗余性的约束,即要求字段没有冗余

视图的优点和缺点有哪些?

优点

1、数据简单化,所见即所得

2、保证安全性,用户只能查看或修改他们能够看到的数据

3、独立性,用来屏蔽真实表中结构变化带来的影响

缺点:

1、使用过程相对复杂,性能相对较差

2、修改不方便

char类型和varchar类型的区别有哪些?

1、char类型的长度一旦确定则不可以发生改变,varchar可以改变

2、char类型的数据如果字符长度比声明的长度小,那么会使用空格进行补位;

varchar类型的数据如果字符的长度比声明的长度小,那么会自动变成实际的字符长度

3、char类型数据方便存储和查询,操作速度比varchar要快,但是牺牲了空间。varchar正好相反,节省空间,但是效率没有char类型高

相关推荐

selenium(WEB自动化工具)

定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...

开发利器丨如何使用ELK设计微服务中的日志收集方案?

【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...

高并发系统设计:应对每秒数万QPS的架构策略

当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...

2025 年每个 JavaScript 开发者都应该了解的功能

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...

JavaScript Array 对象

Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...

Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战

刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...

动力节点最新JavaScript教程(高级篇),深入学习JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...

一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code

当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...

「晚安·好梦」努力只能及格,拼命才能优秀

欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...

JavaScript 中 some 与 every 方法的区别是什么?

大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...

10个高效的Python爬虫框架,你用过几个?

小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

pip3 install pyspider报错问题解决

运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...

PySpider框架的使用

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

「机器学习」神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...