mysql数据库面试题大全

  • 第03章 数据库
    • 项目经理(作者):张明星
  • 基础
    • SQL语言共分为四大类
    • 数据查询语言DQL
    • 数据操纵语言DML
    • 数据定义语言DDL
    • 数据控制语言DCL
    • where、jion、limit、group by、having等执行先后顺序?
    • 触发器的作用?
    • 什么是存储过程?用什么来调用?**
    • 存储过程的优缺点?
    • 什么叫视图?游标是什么?
    • 视图的优缺点
    • drop、truncate、 delete区别
    • count(\*)、count(1)、count(column)的区别
    • 什么是临时表,临时表什么时候删除?
    • like %和-的区别
    • 非关系型数据库和关系型数据库区别,优势比较?
    • 数据库范式,根据某个场景设计数据表?
    • 什么是 内连接、外连接、交叉连接、笛卡尔积等?**
    • MySQL 的逻辑架构了解吗?
    • MVCC 是什么?
    • 查询执行流程是什么?
  • 存储引擎
    • InnoDB、MyISAM、MEMORY的区别?
    • MyISAM与InnoDB如何选择
    • MyISAM与InnoDB的特征
    • 谈一谈 InnoDB
    • 谈一谈 MyISAM
    • 谈一谈 Memory
  • 事务
    • 事务是什么?
    • 事务有什么特性?
    • 事务四大特性(ACID)原子性、一致性、隔离性、持久性?
    • 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
    • MySQL 的隔离级别有哪些?
    • 事务传播行为
    • 嵌套事务
  • 数据类型
    • VARCHAR 和 CHAR 的区别?
    • varchar和char的使用场景?
    • DATETIME 和 TIMESTAMP 的区别?
    • 数据类型有哪些优化策略?
  • 数据库锁
    • 谈一谈 MySQL 的读写锁
    • MySQL 的锁策略有什么?
    • 数据库死锁如何解决?
    • **mysql都有什么锁,死锁判定原理和具体场景,死锁怎么解决?**
    • 有哪些锁?select 时怎么加排它锁?
    • 数据库的主从复制
    • 数据库主从复制分析的 7 个问题?
    • mysql 高并发环境解决方案?
    • 数据库崩溃时事务的恢复机制(REDO日志和UNDO日志)?
  • 索引
    • 什么是索引?
    • 索引的作用?它的优点缺点是什么?
    • 索引有什么作用?
    • 索引的优缺点?
    • 哪些列适合建立索引、哪些不适合建索引?
    • 什么样的字段适合建索引
    • 主键、外键、超键、候选键
    • **为什么用自增列作为主键**
    • MySQL B+Tree索引和Hash索引的区别?
    • B树和B+树的区别
    • 为什么说B+比B树更适合实际应用中操作系统的文件索引和数据库索引?
    • 谈一谈 MySQL 的 B-Tree 索引
    • 了解 Hash 索引吗?
    • 什么是自适应哈希索引?
    • 什么是空间索引?
    • 什么是全文索引?
    • 什么是聚簇索引?
    • 什么是覆盖索引?
    • 你知道哪些索引使用原则?
    • **最左前缀原则**
    • 索引失效的情况有哪些?
    • **聚集索引和非聚集索引区别?**
  • 优化
    • 如何定位低效 SQL?
    • SHOW PROFILE 的作用?
    • trace 是干什么的?
    • EXPLAIN 的字段有哪些,具有什么含义?
    • **使用explain优化sql和索引?**
    • 有哪些优化 SQL 的策略?
    • MySQL 主从复制的作用?
    • MySQL 主从复制的步骤?

第03章 数据库

项目经理(作者):张明星

基础

SQL语言共分为四大类

  • 数据查询语言DQL
  • 数据操纵语言DML
  • 数据定义语言DDL
  • 数据控制语言DCL。

数据查询语言DQL

数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:

SELECT FROM WHERE

数据操纵语言DML

数据操纵语言DML主要有三种形式:

  1. 插入:INSERT
  2. 更新:UPDATE
  3. 删除:DELETE

数据定义语言DDL

数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:

  • CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

  • DDL操作是隐性提交的!不能rollback

数据控制语言DCL

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。

如:

  1. GRANT:授权。
  2. ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。回滚—ROLLBACK;回滚命令使数据库状态回到上次最后提交的状态。其格式为:
    SQL>ROLLBACK;
  3. COMMIT [WORK]:提交。

在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。

在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。

提交数据有三种类型:显式提交、隐式提交及自动提交。

下面分别说明这三种类型。

  • (1) 显式提交

    • 用COMMIT命令直接完成的提交为显式提交。
    • 其格式为:SQL>COMMIT;
  • (2) 隐式提交
    • 用SQL命令间接完成的提交为隐式提交。这些命令是:
      ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
      EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME
  • (3) 自动提交
    • 若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。
    • 其格式为:SQL>SET AUTOCOMMIT ON;

where、jion、limit、group by、having等执行先后顺序?

1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select–from–where–group by–having–order by

其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序 与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行

  1. **from:**需要从哪个数据表检索数据
  2. **where:**过滤表中数据的条件
  3. **group by:**如何将上面过滤出的数据分组
  4. **having:**对上面已经分组的数据进行过滤的条件
  5. **select:**查看结果集中的哪个列,或列的计算结果
  6. **order by

    mysql数据库面试题大全(持续更新)相关推荐

    1. MySQL数据库面试题(2021最新版)

      文章目录:http://github.crmeb.net/u/defu 数据库基础知识 为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 ...

    2. 2020最新MySQL数据库面试题( MySQL引索系统+MySQL数据架构+红黑树结构图+B+树)

      视频参考一线互联网大佬一堂课教会你那些年,你未曾了解的MySQL索引优化 [建议收藏] '阿里高级架构师一个视频教会你MySql 各大知识点MySQL系列/ MySQL引索系统/MySQL数据架构/红 ...

    3. MySQL数据库面试题(超详细)

      一.数据库基础知识 为什么要使用数据库 数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 数据保存在文件 优点: 数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作. 2)查询数据不 ...

    4. 2021最新MySQL数据库面试题

      为什么要使用数据库 数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 数据保存在文件 优点: 数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作.2)查询数据不方便 数据保存在数据库 ...

    5. MySQL数据库面试题(50道题含答案和思维导图总结)

      1.MySQL 中有哪几种锁? (1)表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最 高,并发度最低. (2)行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最 ...

    6. 3836mysql数据库应用基础教程答案_mysql数据库面试题大全

      1. 写出下面 2 个 PHP 操作 Mysql 函数的作用和区别(新浪网技术部) mysql_num_rows() mysql_affected_rows() 这两个函数都作用于 mysql_que ...

    7. 六、MySQL数据库面试题(2021最新版)20210907

      数据库基础知识 为什么要使用数据库 数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 数据保存在文件 优点: 数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作.2)查询数据不方便 ...

    8. mysql怎么计算某个字段重复的个数_2020最新版MySQL数据库面试题(一)

      点击上方" 码农编程进阶笔记 ",选择"置顶或者星标" 文末有干货,每天定时与您相约! 为什么要使用数据库 数据保存在内存 优点:存取速度快 缺点:数据不能永久 ...

    9. mysql面试题2020_2020年MySQL数据库面试题

      1.MySQL 中有哪几种锁? (1)表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最 高,并发度最低. (2)行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最 ...

    10. 2020最新版MySQL数据库面试题(一)

      点击上方" 码农编程进阶笔记 ",选择"置顶或者星标" 文末有干货,每天定时与您相约! 为什么要使用数据库 数据保存在内存 优点:存取速度快 缺点:数据不能永久 ...

    最新文章

    1. 那些年用过的Redis集群架构(含面试解析)
    2. 文巾解题 116. 填充每个节点的下一个右侧节点指针
    3. 数据结构(七)图的遍历(递归非递归方法)
    4. printf函数源码linux,再来一版简易的printf函数实现
    5. 计算机专业人士,必读之经典图书
    6. jsp el 表达式_JSP表达式语言– JSP EL示例教程
    7. 以智图为例讲解自动发布CI/CD技术在逐浪CMS中的应用
    8. chrome 插件开发中的热更新问题
    9. FlashFXP使用说明
    10. iText7添加页眉、页脚
    11. RTX 3090 与 Tesla P40与 Tesla M40 深度学习训练速度比较
    12. douyin_xl,xa,xg,xk
    13. 继 Facebook 开源 PyTorch3D 后,谷歌开源 TensorFlow 3D 场景理解库
    14. My97 DatePicker普通调用
    15. 又来一个上三角数字三角形
    16. 苹果电脑怎么删除旧账户_如何找到您不记得的旧在线帐户
    17. 正本清源区块链——Caoz
    18. FastJson write JavaBean error
    19. datastage配置jdbc_Datastage JDBC Connector 中文乱码处理
    20. 内容生态与新业务双突破,汽车之家反转逻辑将延续

    热门文章

    1. VMware ESXi 6.7 安装LEDE
    2. STM32CubeMX——霍尔编码器、L298N驱动电机
    3. 计算机操作基本技能知识,计算机基本操作技能考核知识点
    4. Java下载安装错误案例
    5. c语言背包问题(动态规划解法)
    6. coreseek java_coreseek 安装及使用方法详解
    7. coreseek使用
    8. 使用PHP和JS对小米主题商店下载地址解析
    9. 取消计算机触摸板,笔记本电脑触摸板如何打开和关闭
    10. 程序员首选编程电脑【火爆来袭】