数据库面试知识点汇总

主键:数据库表中唯一标识;一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(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

时间: 2024-10-13 07:39:07

数据库面试知识点汇总的相关文章

【数据库】数据库面试知识点汇总

转自:https://www.cnblogs.com/wenxiaofei/p/9853682.html 数据库面试知识点汇总 一.基本概念 1.主键.外键.超键.候选键 超键:在关系中能唯一标识元组的属性集称为关系模式的超键.一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键.超键包含候选键和主键. 候选键:是最小超键,即没有冗余元素的超键. 主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Nul

Oracle数据库基础知识点汇总

1.数据库 database 2.主键 ,表的唯一性标识的一列,主键的值永远不能重.primary key 主键的类型:单一主键:一列构成的:复合主键:多个列组合起来充当主键.多采用流水号,单一列当做主键 3.三大规则 :实体完整性约束:主键  :PK 参照完整性约束:外键 :A表的主键出现在B表,在B中就被成为外键,简称FK,此时A为主表,B从表 从表外键的值需要参照主表主键进行填充,或者从表外键的值为空,如果外键的值在主建中不存在,禁止填充 自定义约束:唯一性约束 unique(对NULL无

Java 高级面试知识点汇总!

1.常用设计模式 单例模式:懒汉式.饿汉式.双重校验锁.静态加载,内部类加载.枚举类加载.保证一个类仅有一个实例,并提供一个访问它的全局访问点. 代理模式:动态代理和静态代理,什么时候使用动态代理. 适配器模式:将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 装饰者模式:动态给类加功能. 观察者模式:有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时

数据库面试知识点总结

数据库锁模块 MyISAM与InnoDB关于锁方面的区别是什么? MyISAM默认用的是表级锁,不支持行级锁(在对数据库进行操作时只会锁住被操作的行) InnoDB默认用的是行级锁,也支持表级锁(在对数据库进行操作时会锁住整张表) MyISAM不支持事务 InnoDB支持事务 数据库操作不走索引时使用的是表级锁 MyISAM 在该引擎下会默认添加表锁,当对数据进行select操作时会为表添加一个表级别的读锁:当进行update.insert和delete操作时会自动加上表级别的写锁. 适用场景

Python面试知识点汇总

1. 谈一谈OOP (1)python的类没有访问权限的问题,也就是说所有的变量都是可访问的. 实际上python有私有的机制,就是在属性前加__,但是这种私有机制实际上也是伪私有,因为它其实是用一个别名来保存这个属性. 例如在类A中的self.__a = 4, 实际上__a被修改成了_A__a保持在类中了. (2)没有static的说法了,类和实例是区分看待的,一个属性或者方法可以属于类也可以属于实例 class A: i = 'class var' def __init__(self): s

2017 web前端面试知识点汇总

跨域 同源策略:浏览器上为安全性考虑实施的安全策略.url由协议.域名.端口号和路径组成,如果两个url的协议.域名和端口号相同,则是同源. ajax请求受到同源策略的限制 一.jsonp 利用<script>标签的src属性可以加载跨域的js脚本特点,动态创建script标签来载入跨域资源,jquery对该方法进行了封装,需要设置dataType为jsonp,只支持get请求 二.domain 三.CORS 服务端在响应头加上允许访问的domain和HTTP method 四.服务端代理 因

Android面试知识点(转)

该文所有问题转自:http://www.cnblogs.com/hpboy/p/3307371.html 一.算法,数据结构 1.排序算法 2.查找算法 3.二叉树 4.广度,深度算法: 二.java基础 1.集合Collection,List,Map等常用方法,特点,关系: 2.线程的同步,中断方式有几种,线程池,线程状态,常用的方法比较,比如wait,sleep等: 3.反射机制 4.IO包的使用,运用了什么设计模式 5.设计模式,常用的设计模式,运用场景: 6.内存管理,引用的种类: 7.

CodeIgniter框架——知识点汇总

NO1.学习要点: 一.CodeIgniter 框架的简介 二.CodeIgniter 框架的安装 三.CodeIgniter 框架的目录结构分析 四.CodeIgniter 框架是如何工作的? 五.CodeIgniter 框架中的控制器.视图.模型及数据库操作 六.CodeIgniter 框架中辅助函数.类库.适配器的学习 七.…… NO2. 一.CodeIgniter 是什么? 1.CodeIgniter 是一个应用程序框架 CodeIgniter 是一个为用 PHP 编写网络应用程序的人员

HTML5面试题目汇总(二)

HTML5面试题目汇总(二) 标签: javascript 2016-07-19 10:15 639人阅读 评论(0) 收藏 举报  分类: javascript(16)  1.怎样添加.移除.移动.复制.创建和查找节点? 1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 2)添加.移除.替换.插入 appendChild() //添加 remo