主键:数据库表中唯一标识;一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。

外键:在一个表中存在的另一个表的主键称此表的外键。

触发器的作用?

触发器是一种特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

什么是存储过程?用什么来调用?

存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。

调用:

1)可以用一个命令对象来调用存储过程。

2)可以供外部程序调用,比如:java程序。

存储过程的优缺点?

优点:

1)存储过程是预编译过的,执行效率高。

2)存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。

3)安全性高,执行存储过程需要有一定权限的用户。

4)存储过程可以重复使用,可减少数据库开发人员的工作量。

缺点:移植性差

视图:

是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作

游标:

是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改

视图的优缺点

优点:

1对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。

2)用户通过简单的查询可以从复杂查询中得到结果。

3)维护数据的独立性,试图可从多个表检索数据。

4)对于相同的数据可产生不同的视图。

缺点:

性能:查询视图时,必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,那么就无法更改数据

drop、truncate、 delete区别

最基本:

  • drop直接删掉表。
  • truncate删除表中数据,再插入时自增长id又从1开始。
  • delete删除表中数据,可以加where字句。
  • 什么是临时表,临时表什么时候删除?
  • 临时表可以手动删除:
  • 临时表只在当前连接可见,当关闭连接时,MySQL会自动删除表并释放所有空间。因此在不同的连接中可以创建同名的临时表,并且操作属于本连接的临时表。

转载于:https://www.cnblogs.com/jimsu/p/11185216.html

数据库面试知识点汇总相关推荐

  1. Linux运维工程师面试知识点汇总(一)

    Linux运维工程师面试知识点汇总(一) 一.Linux命令知识点 1.查看/var/log/下的文件数 2.shell下随机密码生成(32位) 3.随机生成8位密码(大小写和数字混合) 4.随机生成 ...

  2. 中高级前端面试知识点汇总

    1.1.什么是HTML语义化?有什么好处? 根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析. 为了在没有 CSS 的情 ...

  3. 机器学习算法工程师面试知识点汇总

    机器学习算法工程师面试知识点汇总 机器学习 梯度下降 k-means 1 × 1卷积核 模型 SVM Bagging & Boosting 随机森林 激活函数 Sigmod tanh ReLU ...

  4. 数据库面试问题汇总(超详细)

    1.数据库范式 第一范式:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项.eg:[联系人](姓名,性别,电话),一个联系人有家庭电话和公司电话,那么这种表结构设计就没 ...

  5. 机器学习、深度学习面试知识点汇总

    作者丨Oldpan 来源丨oldpan博客 编辑丨极市平台 导读 本文总结了一些秋招面试中会遇到的问题和一些重要的知识点,适合面试前突击和巩固基础知识. 前言 最近这段时间正临秋招,这篇文章是老潘在那 ...

  6. ES6面试 知识点汇总(全)

    近期在复习ES6,针对ES6新的知识点,以问答形式整理一个全面知识和问题汇总.(全干货,适合对ES6有一定理解的同学复习,以及ES6面试.) 一.问:ES6是什么? 答: ES6是新一代的JS语言标准 ...

  7. 2020秋招CV面试知识点汇总

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 1.NMS https://blog.csdn.net/lanchunhui/article/ ...

  8. 机器学习面试知识点汇总(Machine Learning Core Concepts Collection)

    Core Concepts List 我们将在这一部分罗列一些面试可能涉及到的小的知识点,只作巩固和补充,如果需要详细了解,还需要详细查证相关的论文. 1.在预测阶段执行 BN 是必要的吗?(没必要也 ...

  9. C++面试知识点汇总

    暂时存个档,可能有不足之处,欢迎指正. C++ 基础 new ,delete,new[],delete[],malloc,free之间的区别? new,delete与new[],delete[]区别在 ...

最新文章

  1. who are you really?
  2. cuda入门——改良第一个 CUDA程序
  3. 地表最简单安装MySQL及配置的方法,没有之一
  4. 小程序开发(10)-之热力图解决方案、手绘图
  5. Oracle ORA-08591告警
  6. 深度学习自学(三十一):基于变分期望最大化深度学习的非盲噪声图像去模糊
  7. Redhat7.2下编译rpm包的形式安装openvswitch
  8. D. Powerful array 莫队算法或者说块状数组 其实都是有点优化的暴力
  9. 关于C语言编程智能小车毕业设计,基于单片机的多功能智能小车设计-毕业设计论文.doc...
  10. FeHelper的安装、使用
  11. matlab 入门 实验,matlab入门实验.doc
  12. 行政执法岗、基层岗申论必背
  13. 小米无线键盘的连接方式
  14. java spring是用在哪里_什么是spring框架?spring框架到底有什么用?spring框架到底做了些什么?...
  15. Errors occurred during the build. Errors running builder 'JavaScript Validator'
  16. a16z合伙人Chris Dixon:DeFi和NFT之后的下一波区块链应用浪潮
  17. minicom的按键控制_minicom使用教程
  18. Android Http请求方法汇总
  19. QQ能上网,但是浏览器打不开网页,怎么办?
  20. word公式转化为mathtype及相关报错:Error message: Problem Converting OMML to MathML

热门文章

  1. 后盾网lavarel视频项目---图片上传
  2. SQL Server - DAC(Dedicated Administrator Connection)专用管理员连接
  3. 关于编译原理的一点看法
  4. .NET基础 (05)内存管理和垃圾回收
  5. UE研究方法—ethnography(人种志)
  6. J2EE架构[三层]
  7. tinyMce在线编辑器内JavaScript实现按Ctrl+S无刷新保存
  8. javascript对象的几种创建方式
  9. Linux - 网络相关指令
  10. lintcode 中等题:subSets 子集