十个你必须会的mysql面试题

yumo6661个月前 (03-30)技术文章18

什么是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类型高

相关文章

70道SQL经典面试题大全,看这一篇就够了

吐血整理了一周SQL面试题,包括了选择题、问答题、实战题。每道题都给大家加了详细的独家解析。几乎每个知识点都涉及到了。刷完这套题,关于SQL的面试妥妥的。题目来源:各大厂面试题、牛客网选择题(1)基础...

200场面试总结出的大厂SQL常考题(附答案)

小伙伴们,大家好。今天给大家分享一些在数据分析岗位面试中,常被问到的一些SQL题。首先,大家先思考一下题目,然后再看后面的参考答案。Q1:几种JOIN连接方式的区别?Q2:几种排序窗口函数的区别?Q3...

大厂面试SQL题(三) ——连续登陆(含间隔)(字节)

承继上篇文章 大厂面试SQL题(一) ——连续登陆,阐述了最为简易的连续登录题目。然而,倘若在面试题目中增添难度,将 隔天统计问题 纳入考量,该作何处理呢?沿用第一篇题目的场景实例:(1)存在一张用户...

网络安全面试题-SQL注入问题总结

一、知识储备类1.SQL与NoSQL的区别?SQL:关系型数据库NoSQL:非关系型数据库存储方式:SQL具有特定的结构表,NoSQL存储方式灵活性能:NoSQL较优于SQL数据类型:SQL适用结构化...

Mysql 常见的10道面试题

1、介绍一下事务的4个特性ACID事务特性含义解释Atomicity原子性同一个事务中的多条语句不可分割,要么全部成功,要么全部失败,不存在部分成功、部分失败Consistency一致性事务从一个一致...

175道2021新版Go语言面试题(含大厂面试题、常见问题解析等等)

2021年的一个报告显示: Go 是程序员最想学的编程语言之一,而且现在不管大厂小厂,Go相关的岗位的确是越来越多,很多公司都在拥抱Go语言!现在正值金九银十,现在一翻开消息列表,就有不少人问:现在外...