MySQL 面试题 14 道
1.主键(primary key)和候选键(candidate key)有什么区别?
2. NOW() 和 CURRENT_DATE() 有什么区别?
3. 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',但唯一键允许它。
链接:https://www.linuxmi.com/git-stash.html
(版权归原作者所有,侵删)
10T 技术资源大放送!包括但不限于:Linux、虚拟化、容器、云计算、网络、Python、Go 等。在开源Linux公众号内回复「10T」,即可免费获取!
shell编程100例(附PDF下载)
IPv6技术白皮书(附PDF下载)
Linux主流发行版本配置IP总结(Ubuntu、CentOS、Redhat、Suse)
批量安装Windows系统
无人值守批量安装服务器
运维必备的《网络端口大全》,看这一份就够了。
收藏:服务器和存储知识入门
什么叫SSH?原理详解,看这一篇就够了!
Nginx面试40问(收藏吃灰)
20 个 Linux 服务器性能调优技巧
超详细!一文带你了解LVS四层负载均衡企业级实践!
收藏 | Linux系统日志位置及包含的日志内容介绍
100 道 Linux 常见面试题,建议收藏,慢慢读~
服务器12种基本故障+排查方法
IT运维管理常用工具大全,让你成为真正的高手
什么是QoS?有收获,点个在看