该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

数据库在笔试题的时候会让你写,但是在面试的时候,面试官不会说出题目给你,让你口头回答这道题这么做,有时候他可能会问删除用什么命名或者啥的,虽然基础,但是真的有可能会问到,今天来看看数据库一些基础的。希望对大家有所帮助。觉得不错的话就点赞哦,转发就更好了

1、SQL的表连接方式有哪些?

SQL中连接按结果集分为:内连接,外连接,交叉连接

内连接:inner join on,两表都满足的组合。内连接分为等值连接,不等连接,自然连接。

等值连接:两表中相同的列都会出现在结果集中。

自然连接:两表中具体相同列表的列会合并为同一列出现在结果集中。

外连接:分为左(外)连接,右(外)连接,全连接

左(外)连接:A left (outer) join B,以A表为基础,A表的全部数据,B表有的组合,没有的为。

右(外)连接:A right(outer) join B,以B表为基础,B表的全部数据,A表有的组合,没有的位null。

全连接:A full (outer) join 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有,A表没有的显示为null。

交叉连接:cross join,就是笛卡尔乘积。

2、三范式

1NF:表中的字段都是单一属性,不再可分。

2NF:在1NF的基础上,表中所有的非主属性都必须完全依赖于任意一组候选键,不能仅依赖于候选键中的某个属性。

3NF:在2NF的基础上,表中所有的属性都不依赖其他非主属性。

简单的说就是:1NF表示每个属性不可分割,2NF表示非主属性不存在对主键的部分依赖,3NF表示不存在非主属性对主键的依赖传递。

3、表的操作

表的创建:create table 表名 (列名1 类型 约束,列2 类型 约束…)

表的删除:drop table 表名

表的更改(结构的更改,不是记录的更新):alter table 表名 add|drop 列名|约

束名

插入记录:insert into 表名…values…

更新记录:update 表名 set 列名=值 where 条件

删除记录:delete from 表名 where 条件

4、数据的完整性

数据完整性指的是存储在数据库中的数据的一致性和准确性。

完整性分类:

(1 )实体完整性:主键值必须唯一且非空。(主键约束)

(2)引用完整性(也叫参照完整性):外键要么为空,要么引用主表中存在的记录。(外键约束)。

(3)用户自定义完整性:针对某一具体关系数据库中的约束条件。

5、SQL的查询优化

(1)从表连接的角度优化:尽量使用内连接,因为内连接是两表都满足的行的组合,而外连接是以其中一个表的全部为基准。

(2)尽量使用存储过程代替临时写SQL语句:因为存储过程是预先编译好的SQL语句的集合,这样可以减少编译时间。

(3)从索引的角度优化:对那些常用的查询字段简历索引,这样查询时值进行索引扫描,不读取数据块。

(4)还有一些常用的select优化技巧:

(5)A、只查询那些需要访问的字段,来代替select*

B、将过滤记录越多的where语句向前移:在一个SQL语句中,如果一个where条件过滤的数据库记录越多,定位越准确,则该where条件越应该前移。

6、索引的作用,聚集索引与非聚集索引的区别

索引是一个数据库对象,使用索引,可以是数据库程序无须对整个数据进行扫描,就可以在其中找到目标数据,从而提高查找效率。索引的底层采用的是B树。

聚集索引:根据记录的key再表中排序数据行。

非聚集索引:独立于记录的结构,非聚集所以包含的key,且每个键值项都有指向该简直的数据行的指针。

聚集索引与非聚集索引的区别:

(1)聚集索引的物理存储按索引排序,非聚集所以的物理存储不按索引排序。

(2) 聚集索引插入,更新数据的速度比非聚集索引慢,单查询速度更快。

(3) 聚集索引的叶级结点保存的是时间的数据项,而非聚集结点的叶级结点保存的是指向数据项的指针。

(4)一个表只能有一个聚集索引(因为只有一种排序方式),但可以有多个非聚集索引。

7、存储过程与函数的区别

(1)函数有返回值,存储过程没有返回值。

(2) 因为存储过程没有返回值,所以不能将存储过程的执行结果赋值给变量;函数有返回值类型,调用函数时,可以将函数的执行结果赋值给变量。也就是说,函数可以在select语句中使用,而存储过程则不能。

软件测试mysql基础面试题_【松勤软件测试】数据库常见面试题总结相关推荐

  1. java中级程序员面试题_中级Java程序员常见面试题汇总

    下面是一些中级Java程序员常见面试题汇总,你可以用它来好好准备面试. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...

  2. laravel mysql sum查询并排行_必看!PHP常见面试题——MySQL篇(二)

    接上期:<必看!PHP常见面试题--MySQL篇(一)> 11.MySQL的默认事务隔离级别是? 读未提交(RU): 一个事务还没提交时, 它做的变更就能被别的事务看到. 读提交(RC): ...

  3. 数据库常见面试题(带答案,开发者必看)

    数据库常见面试题(开发者篇) 什么是存储过程?有哪些优缺点? 什么是存储过程?有哪些优缺点? 存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL.T-SQL). 存储过程的优点: 能够 ...

  4. 数据库常见面试题总结

    参考如下: 数据库常见面试题(开发者篇) 数据库优化 SQL数据库面试题及答案 常见面试题整理--数据库篇 转载于:https://www.cnblogs.com/threetop/p/9425172 ...

  5. MySQL数据库常见面试题总结

    1.数据库的常用范式: 第一范式(1NF):指表的列不可再分,数据库中表的每一列都是不可分割的基本数据项,同一列中不能有多个值: 第二范式(2NF):在 1NF 的基础上,还包含两部分的内容:一是表必 ...

  6. 合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)

    上一文中,我们总结了java面试的基础,多线程,jvm的常见面试题,本文合肥北大青鸟合工大校区的袁老师继续介绍面试中网络.数据结构和算法.分布式理论和微服务的常见面试题. 一.网络 网络的话,主要集中 ...

  7. 数据库常见面试题——索引

    如何设计一个关系型数据库 索引模块 为什么要使用索引 快速查询数据 什么样的信息能够成为索引 主键.唯一键以及普通键等 索引的数据结构 生成索引,建立二叉查找树进行二分查找树(平衡二叉树.红黑树) 生 ...

  8. 软件测试mysql常用语句_【松勤软件测试】数据库常见面试题总结

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 数据库在笔试题的时候会让你写,但是在面试的时候,面试官不会说出题目给你,让你口头回答这道题这么做,有时候他可能会问删除用什么命名或者啥的,虽然基础,但是真 ...

  9. 【Database】数据库常见面试题【转】

    数据库基础(面试常见题) 一.数据库基础 1. 数据抽象:物理抽象.概念抽象.视图级抽象,内模式.模式.外模式 2. SQL语言包括数据定义.数据操纵(Data Manipulation),数据控制( ...

最新文章

  1. Template Method(模板方法)模式
  2. java 排队任务_android实现排队任务
  3. 移动商城第五篇【查看、删除、编辑品牌】
  4. java stream中Collectors的用法
  5. ACM数论之旅4---扩展欧几里德算法(欧几里德(・∀・)?是谁?)
  6. ajax加载vue数据,详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
  7. Apollo自动驾驶入门课程第⑩讲 — 控制(下)
  8. OpenMV(一)--基础介绍与硬件架构
  9. 【Elasticsearch】es 查询 multi_match 与 match_phrase
  10. InterlockedIncrement
  11. Oracle数据库一致性读的原理
  12. Lost and Found(结对项目)功能实现
  13. php处理post序列化,使用jQuery POST和php序列化和提交表单
  14. 写一个含数字,拼音,汉字的验证码生成类
  15. 对称密钥加密和非对称密钥加密
  16. 刘兰芳评书app下载
  17. python初学之字符串、列表与元组小练习
  18. 京东朱健:聊聊京东广告系统的数据库选型
  19. RIP动态路由配置 命令| 配置题
  20. 卡尔曼滤波算法的五大核心公式含义

热门文章

  1. 央视推荐的30本必读经典好书
  2. 曙光计算机公司张涛,曙光创业协会“畅谈理想  规划人生”演讲比赛三等奖(文章)...
  3. 南邮《Linux编程》2018-2019学年第一学期期末考试回忆
  4. android和OPhone模拟器界面对比
  5. 【Sourcetree】推送远程仓库时,登录账户确认无误却一直失败的原因
  6. 蓝桥杯单片机第四届 省赛 模拟智能灌溉系统(第五届模拟赛)
  7. 无Python环境变量python正常使用
  8. 达梦数据库之创建表空间和用户
  9. 刻苦学习Java第八天【打卡贴】
  10. oracle sql语句序列,Oracle SQL之 序列使用限制