您现在的位置是:首页 > 网页设计心得 > 博客日记博客日记

MYSQL面试常考知识点总结

胜于蓝2019-07-25【博客日记】人已围观

简介数据库的三范式 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三

     第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;MmD胜于蓝|优秀个人博客
     第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;  MmD胜于蓝|优秀个人博客
     第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。      关键字:select、from、join、on、where、group by、having、order by、distinct执行顺序MmD胜于蓝|优秀个人博客
     from > join > on > where > group by > having > select > distinct > order by      UNION/ALL:组合多个结果表,并消去表中重复行,和ALL一起使用时,不消除重复行。MmD胜于蓝|优秀个人博客
     EXCEPT/ALL:在table1中但不在table2中的行并消除重复行,和ALL一起使用时,不消除重复行。MmD胜于蓝|优秀个人博客
     INTERSECT/ALL:包括table1和table2中都有的行并消除重复行,和ALL一起使用时,不消除重复行。      内连接:结果仅包含符合连接条件的两表中的行MmD胜于蓝|优秀个人博客
     外连接:结果包含符合条件的行,同时包含不符合条件的行(分为左外连接、右外连接和全外连接)MmD胜于蓝|优秀个人博客
     左外连接:左表全部行+右表匹配的行,如果左表中某行在右表中没有匹配的行,则显示NULL。MmD胜于蓝|优秀个人博客
     右外连接:右表全部行+左表匹配的行。MmD胜于蓝|优秀个人博客
     全外连接:全外连接:不管匹配不匹配,全部显示出来。MmD胜于蓝|优秀个人博客
     交叉连接:返回左表中所有行与右表中所有行的组合,也称笛卡尔积。      CHAR:指定长度,如果一个数据实际长度比设定长度短,那么它将按照设定(最长)长度储存,不足部分,填补空格。适用于固定长度的字段,如性别、手机号等。MmD胜于蓝|优秀个人博客
     VARCHAE:指定最大长度,但该长度可变,即如果数据的实际长度比设定长度短,那么它将按照实际长度储存,而不占用剩余的空间。 适用于非固定长度的字段,如姓名、城市名等。      DROP直接删掉表 。 MmD胜于蓝|优秀个人博客
     TRUNCATE删除表中数据,再插入时自增长id又从1开始 。 MmD胜于蓝|优秀个人博客
     DELETE删除表中数据,可以加WHERE字句。      原子性(Atomicity)一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作。MmD胜于蓝|优秀个人博客
     一致性(Consistency)数据库总是从一个一致性的状态转换到另一个一致性的状态。MmD胜于蓝|优秀个人博客
     隔离性(Isolation)一个事务所做的修改在最终提交以前,对其他事务是不可见的。MmD胜于蓝|优秀个人博客
     持久性(Durability)一旦事务提交,则其所做的修改会永久保存到数据库。      悲观锁:对数据被外界修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。(悲观锁的实现,往往依靠数据库提供的锁机制)MmD胜于蓝|优秀个人博客
     乐观锁:大多是基于数据版本 ( Version )记录机制实现。MmD胜于蓝|优秀个人博客
     即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version” 字段来 实现。 读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提 交数据的版本数据与数据库表对应记录的当前版本信息进行比对,如果提交的数据 版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据      脏读:一个事务读取到了另外一个事务没有提交的数据;(修改的数据还未提交就被另一个事务使用这个数据)MmD胜于蓝|优秀个人博客
     不可重复读:在同一事务中,两次读取同一数据,得到内容不同;(两次读取同一数据之间,另一个事务对数据进行了修改)MmD胜于蓝|优秀个人博客
     虚度:同一事务中,用同样的操作读取两次,得到的记录数不相同;(两次相同的操作之间,另一个事务对数据进行了新增或删除)      序列化 (Serializable):可避免脏读、不可重复读、幻读的发生。MmD胜于蓝|优秀个人博客
     可重复读 (Repeatable read):可避免脏读、不可重复读的发生。MmD胜于蓝|优秀个人博客
     读已提交(Read committed):可避免脏读的发生。MmD胜于蓝|优秀个人博客
     读未提交 (Read uncommitted):最低级别,任何情况都无法保证。      MVCC最大的好处:读不加锁,读写不冲突。MmD胜于蓝|优秀个人博客
     1.多版本并发控制(MVCC)是一种用来解决读-写冲突的无锁并发控制,也就是为事务分配单向增长的时间戳,为每个修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据库的快照。 这样在读操作不用阻塞写操作,写操作不用阻塞读操作的同时,避免了脏读和不可重复读MmD胜于蓝|优秀个人博客
     2.当MVCC数据库更新一条数据时,不会直接重写原始的数据,而是修改新创建的数据副本。因此会有多个版本的数据被保存下来。每个事务看到的数据版本依赖于隔离级别的实现。MVCC里最通用的隔离级别的实现就是快照隔离。在快照隔离的情况下,事务只会获取到数据的在事务开始前的状态。      由于内容所占篇幅较大,具体内容请移至另一篇《MYSQL主从复制     由于内容所占篇幅较大,具体内容请移至另一篇《数据库的分库分表     由于内容所占篇幅较大,具体内容请移至另一篇《数据库SQL优化     由于内容所占篇幅较大,具体内容请移至另一篇《聚集索引和非聚集索引     由于内容所占篇幅较大,具体内容请移至另一篇《MYSQL的索引相关系列总结

 MmD胜于蓝|优秀个人博客

MyISAMMmD胜于蓝|优秀个人博客

InnoDBMmD胜于蓝|优秀个人博客

事务支持   MmD胜于蓝|优秀个人博客

不支持MmD胜于蓝|优秀个人博客

支持MmD胜于蓝|优秀个人博客

锁的粒度   MmD胜于蓝|优秀个人博客

表锁MmD胜于蓝|优秀个人博客

行锁MmD胜于蓝|优秀个人博客

存储容量   MmD胜于蓝|优秀个人博客

没有上限MmD胜于蓝|优秀个人博客

64TBMmD胜于蓝|优秀个人博客

哈希索引   MmD胜于蓝|优秀个人博客

不支持MmD胜于蓝|优秀个人博客

支持MmD胜于蓝|优秀个人博客

全文索引   MmD胜于蓝|优秀个人博客

支持MmD胜于蓝|优秀个人博客

以前不支持,现在支持MmD胜于蓝|优秀个人博客

外键   MmD胜于蓝|优秀个人博客

不支持MmD胜于蓝|优秀个人博客

支持MmD胜于蓝|优秀个人博客

MmD胜于蓝|优秀个人博客
     InnoDB是非事务的存储引擎;适合用于频繁查询的应用;表锁,不会出现死锁;适合小数据,小并发MmD胜于蓝|优秀个人博客
     InnoDB是支持事务的存储引擎;合于插入和更新操作比较多的应用;设计合理的话是行锁(最大区别就在锁的级别上);适合大数据,大并发。MmD胜于蓝|优秀个人博客
     MyISAM表的数据文件和索引文件是自动分开的;InnoDB的数据和索引是存储在同一个表空间里面,但可以有多个文件组成。      1.InnoDB要缓存数据块,而MyISAM只缓存索引块MmD胜于蓝|优秀个人博客
     2.InnoDB寻址要映射到块,再到行,MyISAM记录的直接是文件的OFFSET,定位比InnoDB要快MmD胜于蓝|优秀个人博客
     3.InnoDB还需要维护MVCC一致      由于内容所占篇幅较大,具体内容请移至另一篇《慢查询日志     XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。MmD胜于蓝|优秀个人博客
        防止方法:做数据校验、做标签转换,如:空格 转化为  。MmD胜于蓝|优秀个人博客
     SQL注入攻击是注入攻击最常见的形式,当服务器使用请求参数构造SQL语句时,恶意的SQL被嵌入到SQL中交给数据库执行;MmD胜于蓝|优秀个人博客
        防止方法:输入校验、sql不要动态拼接,用参数化的sql。MmD胜于蓝|优秀个人博客
     CSRF攻击(Cross Site Request Forgery,跨站请求伪造)是攻击者通过跨站请求,以合法的用户身份进行非法操作(如转账或发帖等)。MmD胜于蓝|优秀个人博客
     CSRF的原理是利用浏览器的Cookie或服务器的Session,盗取用户身份;MmD胜于蓝|优秀个人博客
        防止方法:使用post代替get,因为post不会被缓存;每次清除掉cookie。

Tags:

很赞哦! ()

上一篇:返回列表

下一篇:Python知识点汇总

文章评论

当前时间

快速排名

  • 网站建设|万词霸屏,企业软文推广,刷下拉框
  • 快速排名:不用再等SEO三个月,只需3-7天即可把行业关键词覆盖百度搜索引擎首页,点击不收费,排名报表,真实访问量报表一目了然。

合作加盟

  • 扫码请注明来意,否则不会通过
  • 填写商户姓名不要带有“超市”,“便利店” ,“百货”等
  • 扫码成为快钱代理
  • 扫码加站长微信,为您推荐快钱总部负责人
  • 快钱POSS机(电签版)
  • 1,免押版:签约费率快捷交易0.38%,常规交易0.65%
  • 贷记卡单笔≥3000元视为激活
  • 2,,有押版:签约快捷交易0.38%,常规交易0.65%
  • 激活首刷≥99元,扣除99元系统服务费,多出部分shishi到账
  • 电签版ipos参与每月扶持奖励
  • 电签版ipos与Mpos单独考核台均
  • 30台以上有效激活奖励3000元扶持金
  • 当月交易额≥3000元的为活跃用户

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计7613篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 扫描二维码:请注明来意,否则不会通过
  • 微信号:扫描二维码,关注我们
歌名 - 歌手
0:00