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

MySQL经典面试题 14 道(mysql面试题2021)

haoteby 2025-01-26 22:25 12 浏览

面试中经常被问到的 MySQL 题目,本文总结了面试中的经典问题。


1.主键(primary key)和候选键(candidate key)有什么区别?

候选键 - 候选键可以是任何列或可以作为数据库中唯一键的列组合。一张表中可以有多个候选键。每个候选键都可以作为主键。

主键 - 主键是唯一标识记录的列或列组合。只有一个候选键可以是主键。


2. NOW() 和 CURRENT_DATE() 有什么区别?

NOW () 命令用于以小时、分钟和秒显示当前年、月、日。

CURRENT_DATE() 仅显示当前年、月和日期。


3. MySQL 表中允许多少个触发器?

以下是 MySQL 表中允许的触发器。

  • 插入前
  • 插入后
  • 更新前
  • 更新后
  • 删除前
  • 删除后



4.我们可以为索引创建多少列?

16


5. 如何将数据从一张表复制到另一张表?

NSERT INTO table2 (id,uid,changed,status,assign_status) SELECT id,uid,now(),'Pending','Assigned' FROM table1


6.如何在不复制数据的情况下复制表?

CREATE TABLE users_bck SELECT * FROM users WHERE 1=0;


7.什么是 MySQL?

MySQL 是一个免费提供的开源关系数据库管理系统 (RDBMS),它使用结构化查询语言 (SQL)。

SQL 是用于在数据库中添加、访问和管理内容的最流行的语言。它以其快速处理、久经考验的可靠性、易用性和使用灵活性而著称。MySQL 是几乎每个开源 PHP 应用程序的重要组成部分。基于 PHP 和 MySQL 的脚本的好例子是 WordPress、Joomla、Magento 和 Drupal。


8.列出MySQL的特点?

关系数据库管理系统(RDBMS):MySQL 是一个关系数据库管理系统。

  • 易于使用:MySQL 易于使用。您只需掌握 SQL 的基本知识。只需几个简单的 SQL 语句,您就可以构建 MySQL 并与之交互。
  • 它是安全的:MySQL 包含一个可靠的数据安全层,可以保护敏感数据免受入侵者的侵害。密码在 MySQL 中是加密的。
  • 它是可扩展的:MySQL 可以处理几乎任何数量的数据,多达 5000 万行或更多。默认文件大小限制约为 4 GB。但是,您可以将此数字增加到 8 TB 数据的理论限制。
  • 在许多操作系统上兼容:MySQL 兼容在许多操作系统上运行。
  • 允许回滚:MySQL 允许事务回滚、提交和崩溃恢复。
  • 高性能:由于其独特的存储引擎架构,MySQL 更快、更可靠、更便宜。
  • 高灵活性:MySQL 支持大量的嵌入式应用程序,这使得 MySQL 非常灵活。
  • 高生产力:MySQL 使用触发器、存储过程和视图,允许开发人员提供更高的生产力。



9. transaction 和 ACID 属性是什么意思?

事务是工作的逻辑单元,应该执行所有步骤或不执行任何步骤。ACID 是原子性、一致性、隔离性和持久性的缩写,它们是任何事务的属性。


10. 什么是堆表?

堆是没有聚集索引的表。可以在存储为堆的表上创建一个或多个非聚集索引。数据存储在堆中而不指定顺序。通常数据最初是按照行插入表中的顺序存储的,但是数据库引擎可以在堆中移动数据以有效地存储行;因此无法预测数据顺序。要保证从堆返回的行的顺序,您必须使用 ORDER BY 子句。要指定行的存储顺序,请在表上创建聚集索引,使表不是堆。


11. 聚集表与堆表

堆表

  • 数据不按任何特定顺序存储
  • 具体数据不能快速检索,除非也有非聚集索引
  • 数据页未链接,因此顺序访问需要回溯到索引分配映射 (IAM) 页
  • 由于没有聚集索引,因此不需要额外的时间来维护索引
  • 由于没有聚集索引,所以不需要额外的空间来存储聚集索引树
  • 这些表在 sys.indexes 目录视图中的 index_id 值为 0

集群表

  • 数据按照聚集索引键的顺序存储
  • 如果查询使用索引列,可以根据聚集索引键快速检索数据
  • 链接数据页以实现更快的顺序访问
  • 需要额外的时间来维护基于 INSERTS、UPDATES 和 DELETES 的聚集索引
  • 需要额外的空间来存储聚集索引树
  • 这些表在 sys.indexes 目录视图中的 index_id 值为 1



12. 区分 FLOAT 和 DOUBLE?

以下是 FLOAT 和 DOUBLE 的区别:

  • 浮点数以八位精度存储在 FLOAT 中,它有四个字节。
  • 浮点数以 18 位精度存储在 DOUBLE 中,它有 8 个字节。



13. 使用 CREATE 语句可以创建哪些对象?

以下对象是使用 CREATE 语句创建的:

  • DATABASE
  • EVENT
  • FUNCTION
  • INDEX
  • PROCEDURE
  • TABLE
  • TRIGGER
  • USER
  • VIEW



14.主键和唯一键有什么区别

虽然两者都用于强制定义的列的唯一性,但主键会创建聚集索引,而唯一键会在列上创建非聚集索引。主键不允许'NULL',但唯一键允许它。

相关推荐

如何随时清理浏览器缓存_清理浏览器缓存怎么弄

想随时清理浏览器缓存吗?Cookieformac版是Macos上一款浏览器缓存清理工具,所有的浏览器Cookie,本地存储数据,HTML5数据库,FlashCookie,Silverlight,...

Luminati代理动态IP教程指南配置代理VMLogin中文版反指纹浏览器

介绍如何使用在VMLogin中文版设置Luminati代理。首先下载VMLogin中文版反指纹浏览器(https://cn.vmlogin.com)对于刚接触Luminati动态ip的朋友,是不是不懂...

mac清除工具分享,解除您在安全方面的后顾之忧

想要永久的安全的处理掉重要数据,删除是之一,使用今天小编分享的mac清除工具,为您的操作再增一层“保护”,小伙伴慎用哟,一旦使用就不可以恢复咯,来吧一起看看吧~mac清除工具分享,解除您在安全方面的后...

取代cookie的网站追踪技术:”帆布指纹识别”

【前言】一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广告(精准化营销)或其他有针对性的一些活动。Co...

辅助上网为啥会被抛弃 曲奇(Cookie)虽甜但有毒

近期有个小新闻,大概很多小伙伴都没有注意到,那就是谷歌Chrome浏览器要弃用Cookie了!说到Cookie功能,很多小伙伴大概觉得不怎么熟悉,有可能还不如前一段时间被弃用的Flash“出名”,但它...

浏览器指纹是什么?浏览器指纹包括哪些信息

本文关键词:浏览器指纹、指纹浏览器、浏览器指纹信息、指纹浏览器原理什么是浏览器指纹?浏览器指纹是指浏览器的各种信息,当我们访问其他网站时,即使是在匿名的模式下,这些信息也可以帮助网站识别我们的身份。...

那些通用清除软件不曾注意的秘密_清理不常用的应用软件

系统清理就像卫生检查前的大扫除,即使你使出吃奶的劲儿把一切可能的地方都打扫过,还会留下边边角角的遗漏。随着大家电脑安全意识的提高,越来越多的朋友开始关注自己的电脑安全,也知道安装360系列软件来"武装...

「网络安全宣传周」这些安全上网小知识你要知道!

小布说:互联网改变了人们的衣食住行,但与之伴生的网络安全威胁也不容忽视。近些年来,风靡全球的勒索病毒、时有发生的电信诈骗、防不胜防的个人信息泄露时时刻刻都威胁着我们的生活。9月18日-24日是第四届...

TypeScript 终极初学者指南_typescript 进阶

在过去的几年里TypeScript变得越来越流行,现在许多工作都要求开发人员了解TypeScript...

jQuery知识一览_jquery的认识和使用

一、概览jQuery官网:https://jquery.com/jQuery是一个高效、轻量并且功能丰富的js库。核心在于查询query。...

我的第一个Electron应用_electronmy

hello,好久不见,最近笔者花了几天时间入门Electron,然后做了一个非常简单的应用,本文就来给各位分享一下过程,Electron大佬请随意~笔者开源了一个Web思维导图,虽然借助showSav...

HTML5 之拖放(Drag 和 Drop)_html拖放api

简介拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在HTML5中,拖放是标准的一部分,任何元素都能够拖放。先点击一个小例子:在用户开始拖动<p>元素时执行JavaScrip...

如何用JavaScript判断输入值是数字还是字母?

在日常开发中,我们有时候需要判断用户输入的是数字还是字母。本文将介绍如何用JavaScript实现这一功能。检查输入值是否是数字或字母...

图形编辑器开发:快捷键的管理_图形编辑工具

大家好,我是前端西瓜哥。...

浏览器原生剪贴板:原来它能这样读取用户截图!

当我们使用GitHub时,会发现Ctrl+V就能直接读取用户剪贴板图片进行粘贴,那么它是如何工作的?安全性如何?...