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

MySQL经典面试题 14 道

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

面试中经常被问到的 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',但唯一键允许它。

相关推荐

python创建文件夹,轻松搞定,喝咖啡去了

最近经常在录视频课程,一个课程下面往往有许多小课,需要分多个文件夹来放视频、PPT和案例,这下可好了,一个一个手工创建,手酸了都做不完。别急,来段PYTHON代码,轻松搞定,喝咖啡去了!import...

如何编写第一个Python程序_pycharm写第一个python程序

一、第一个python程序[掌握]python:python解释器,将python代码解释成计算机认识的语言pycharm:IDE(集成开发环境),写代码的一个软件,集成了写代码,...

Python文件怎么打包为exe程序?_python3.8打包成exe文件

PyInstaller是一个Python应用程序打包工具,它可以将Python程序打包为单个独立可执行文件。要使用PyInstaller打包Python程序,需要在命令行中使用py...

官方的Python环境_python环境版本

Python是一种解释型编程开发语言,根据Python语法编写出来的程序,需要经过Python解释器来进行执行。打开Python官网(https://www.python.org),找到下载页面,选择...

[编程基础] Python配置文件读取库ConfigParser总结

PythonConfigParser教程显示了如何使用ConfigParser在Python中使用配置文件。文章目录1介绍1.1PythonConfigParser读取文件1.2Python...

Python打包exe软件,用这个库真的很容易

初学Python的人会觉得开发一个exe软件非常复杂,其实不然,从.py到.exe文件的过程很简单。你甚至可以在一天之内用Python开发一个能正常运行的exe软件,因为Python有专门exe打包库...

2025 PyInstaller 打包说明(中文指南),python 打包成exe 都在这里

点赞标记,明天就能用上这几个技巧!linux运维、shell、python、网络爬虫、数据采集等定定做,请私信。。。PyInstaller打包说明(中文指南)下面按准备→基本使用→常用...

Python自动化办公应用学习笔记40—文件路径2

4.特殊路径操作用户主目录·获取当前用户的主目录路径非常常用:frompathlibimportPathhome_dir=Path.home()#返回当前用户主目录的Path对象...

Python内置tempfile模块: 生成临时文件和目录详解

1.引言在Python开发中,临时文件和目录的创建和管理是一个常见的需求。Python提供了内置模块tempfile,用于生成临时文件和目录。本文将详细介绍tempfile模块的使用方法、原理及相关...

python代码实现读取文件并生成韦恩图

00、背景今天战略解码,有同学用韦恩图展示各个产品线的占比,效果不错。韦恩图(Venndiagram),是在集合论数学分支中,在不太严格的意义下用以表示集合的一种图解。它们用于展示在不同的事物群组之...

Python技术解放双手,一键搞定海量文件重命名,一周工作量秒搞定

摘要:想象一下,周五傍晚,办公室的同事们纷纷准备享受周末,而你,面对着堆积如山的文件,需要将它们的文件名从美国日期格式改为欧洲日期格式,这似乎注定了你将与加班为伍。但别担心,Python自动化办公来...

Python路径操作的一些基础方法_python路径文件

带你走进@机器人时代Discover点击上面蓝色文字,关注我们Python自动化操作文件避开不了路径操作方法,今天我们来学习一下路径操作的一些基础。Pathlib库模块提供的路径操作包括路径的...

Python爬取下载m3u8加密视频,原来这么简单

1.前言爬取视频的时候发现,现在的视频都是经过加密(m3u8),不再是mp4或者avi链接直接在网页显示,都是经过加密形成ts文件分段进行播放。今天就教大家如果通过python爬取下载m3u8加密视频...

探秘 shutil:Python 高级文件操作的得力助手

在Python的标准库中,shutil模块犹如一位技艺精湛的工匠,为我们处理文件和目录提供了一系列高级操作功能。无论是文件的复制、移动、删除,还是归档与解压缩,shutil都能以简洁高效的方式完成...

怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!

前面用Python+Flet开发的“我的计算器v3”,怎么打包为exe文件呢?这样才能分发给他人,直接“双击”运行使用啊!今天我给大家分享一个简单的、可用的,把Flet开发的程序打包为...