zoukankan      html  css  js  c++  java
  • 数据库理论知识及面试题

    数据库部分 

    1、什么是sql注入,如何防止?

      sql注入:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。简单说就是sql拼接。

      如何防御:

        a:删除用户输入内容中的所有连字符

        b:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作

        c: 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击

        d:查用户输入的合法性,确信输入的内容只包含合法的数据

    2、sql如何优化?

      a:要显示什么字段, 就查询什么字段

      b: 建立索引

      c:减少对表的查询

      d:分表分库

    3、左连接与有连接的区别?

          左连接:只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来

       右连接:右连接是只要右边表中有记录,数据就能检索出来

    4、union 与union all区别

      union 将两个表连接后删除其重复的项; 
      union all 将两个表连接都不删除其重复的项。 

    5、什么是jquery? jquery的选择器有几种?
      1、基本选择器
      2、层次选择器
      3、过滤选择器
      4、表单选择器

    一.SQL Server查询第31到40条数据?

    大致分为两种情况:ID连续和ID不连续。

    1.ID连续的情况:select * from A where ID between 31 and 40
    2.ID不连续的情况:

    (1)两次对表查询,效率较低。
      select top 10 * from A where ID not in (select top 30 ID from A)
    (2)外层查询没有对表A进行查询,效率提高。
      select top 10 * from (select top 40 ID from A order by ID) as a order by a.ID desc 
    (3)ROW_NUMBER()函数效率更高,SQL2005以上版本可用。
      select * from(select *,ROW_NUMBER() over(order by ID)as 'userID' from A) as a where a.userID between 31 and 40

    注:强推一波个人小站:小语雀网 | 欢迎大佬们访问哈~
  • 相关阅读:
    webRTC中语音降噪模块ANS细节详解(四)
    基于MCRAOMLSA的语音降噪(三):实现(续)
    基于MCRAOMLSA的语音降噪(一):原理
    VoIP语音处理流程和知识点梳理
    linux I/O内存访问
    十六、输入子系统驱动模型
    十三、【ADC】ADC读取S5p6818电源值
    put_user()和get_user()用户空间传递数据
    十四、【watchdog】看门狗
    十七、内核中的锁机制
  • 原文地址:https://www.cnblogs.com/zpblogs/p/7514399.html
Copyright © 2011-2022 走看看