服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

10道经典MySQL面试题,试试你能回答几个

日期: 来源:LemonSec收集编辑:小蒋学

1.drop,delete与truncate的区别

相同点:

truncate和不带where子句的delete,以及drop都会删除表内的数据

不同点:

  • truncate会清除表数据并重置id从1开始,delete就只删除记录,drop可以用来删除表或数据库并且将表所占用的空间全部释放

  • truncate和delete只删除数据不删除表的结构。drop语句将删除表的结构被依赖的约(constrain),触发器(trigger),依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。

  • 速度上一般来说: drop> truncate > delete

  • 使用上,想删除部分数据行用 delete,想删除表用 drop,想保留表而将所有数据删除,如果和事务无关,用truncate即可。如果和事务有关,或者想触发trigger,还是用delete。

  • delete是DML语句,不会自动提交。drop/truncate都是DDL语句,执行后会自动提交。

2.mysql里记录货币用什么字段类型好

NUMERIC 和DECIMAL 类型被MySQL实现为同样的类型,这在SQL92标准允许。他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。

DECIMAL和NUMERIC值作为字符串存储,而不是作为二进制浮点数,以便保存那些值的小数精度。

3.MySQL中myisam与innodb的区别

  • InnoDB支持事务,而MyISAM不支持事务

  • InnoDB支持行级锁,而MyISAM支持表级锁

  • InnoDB支持MVCC, 而MyISAM不支持

  • InnoDB支持外键,而MyISAM不支持

  • InnoDB不支持全文索引,而MyISAM支持。

  • InnoDB不能通过直接拷贝表文件的方法拷贝表到另外一台机器, myisam 支持

  • InnoDB表支持多种行格式, myisam 不支持

  • InnoDB是索引组织表, myisam 是堆表

4.事务的四个特性及含义

数据库事务transanction正确执行的四个基本要素:ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。

原子性: 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性: 在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。

隔离性: 隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请 求,使得在同一时间仅有一个请求用于同一数据。

持久性: 在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

5.MYSQL相比于其他数据库有哪些特点?

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统与其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱一些。其特点有:

  • 可以处理拥有上千万条记录的大型数据;

  • 支持常见的SQL语句规范;

  • 可移植行高,安装简单小巧;

  • 良好的运行效率,有丰富信息的网络支持;

  • 调试、管理,优化简单(相对其他大型数据库)。

6.视图的作用,视图可以更改么?

视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询;不包含任何列或数据。使用视图可以简化复杂的sql操作,隐藏具体的细节,保护数据;视图创建后,可以使用与表相同的方式利用它们。

视图不能被索引,也不能有关联的触发器或默认值,如果视图本身内有order by 则对视图再次order by将被覆盖。

7.存储过程与触发器的区别

触发器与存储过程非常相似,触发器也是SQL语句集,两者唯一的区别是触发器不能用EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发(激活)执行。

触发器是在一个修改了指定表中的数据时执行的存储过程。通常通过创建触发器来强制实现不同表中的逻辑相关数据的引用完整性和一致性。由于用户不能绕过触发器,所以可以用它来强制实施复杂的业务规则,以确保数据的完整性。

触发器不同于存储过程,触发器主要是通过事件执行触发而被执行的,而存储过程可以通过存储过程名称名字而直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,SQLSERVER就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合这些SQL语句所定义的规则。

8.索引的作用?和它的优点缺点是什么?

索引就是一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。

索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

9.union 与union all的区别

union 在进行表连接后会筛选掉重复的记录,所以在表连接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。union all 则会显示重复结果,只是简单的两个结果合并并返回.所以效率比union高,在保证没有重复数据的情况下用union all.

10. SQL语言包括哪几部分?每部分都有哪些操作关键字?

SQL语言包括数据定义(DDL)、数据操纵(DML),数据控制(DCL)和数据查询(DQL)四个部分。

  • 数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等

  • 数据操纵:Select ,insert,update,delete,

  • 数据控制:grant,revoke

  • 数据查询:select


侵权请私聊公众号删文


 热文推荐  


欢迎关注LemonSec
觉得不错点个“赞”、“在看“

相关阅读

  • 浅谈Sql注入总结笔记整理(超详细)

  • 一、sql注入概述SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不
  • 杨庆峰:ChatGPT的生成特性及其意义

  • 文 | 杨庆峰,复旦发展研究院研究员、中国科协-复旦大学科技伦理与人类未来研究院教授随着聊天程序ChatGPT成为时下关注的焦点,人们意识到人工智能正在影响着各个领域与学科,正
  • 【国盛计算机】多模态GPT,比我们想象的更近

  • 核心观点微软推出多模态大语言模型KOSMOS-1,印证大语言模型能力可延伸至NLP外领域。该模型采用多模态数据训练,可感知图片、文字等不同模态输入,并学习上下文,根据给出的指令生
  • TensorFlow图像分类教程

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达来源:阿里云云栖号导读:深度学习算法与计算机硬件性能的发展,使研究人员和企业在图像识别、语音识别、推荐引擎和机
  • 工业互联网,狂飙向何方?

  • 作 者:荔枝来 源:正和岛(ID:zhenghedao)2023年全国两会正在召开,与经济高质量发展相关的话题备受瞩目。作为第四次工业革命的重要基石,工业互联网已成为全球主要工业国家抢占产业竞
  • (待会删)yyds,付费搞来的,请大家低调浏览!!!

  • 今天想跟大家分享个事儿。我不是有个要好的朋友嘛?最近我发现她天天准点下班。记得有一阵子,她还天天跟我抱怨:“工作量大,每天加班加点才能完成,累得跟狗一样“。刚好前几天她不

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 中公失落“赌局”里的女孩

  • 快要三十岁了,邹雪迫切感到生活需要她稳定下来。疫情里,妈妈没了工作,她在培训班的教职受到双减影响,教师编成为唯一能想到的稻草。中公教育多年前开创的“保过’模式给了她报名
  • 提前还贷后,我唯一后悔的是没早点还

  • 最近,“提前还贷”频频登上热搜。有人1月预约,6月才能还上;也有人打了超过100个投诉电话后,最终成功。许多人还贷受阻后才发现,原来,想把钱还给银行,也没那么容易。尽管如此,提前还
  • 浅谈Sql注入总结笔记整理(超详细)

  • 一、sql注入概述SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不
  • 10道经典MySQL面试题,试试你能回答几个

  • 1.drop,delete与truncate的区别相同点:truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:truncate会清除表数据并重置id从1开始,delete就只删除记录,drop可
  • 惊蛰,来看一场春日大“绣”

  • “仲春雷雨振,蛰惊草木舒。”春雷乍响,万物出,惊蛰来了!仲春百花开布谷催春来一场大自然的春季大秀即将开锣本“时尚博主”——金玉满堂·广绣穿着高端大气上档次的“高定礼服”