• 面试知识整理


    1、数据库 行转列 列转行的方式

    在做数据统计的时候,行转列,列转行是经常碰到的问题。case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强。

    https://www.cnblogs.com/linJie1930906722/p/6036714.html

    2、EF导航属性

    https://www.cnblogs.com/Dr-Hao/p/5365325.html

    3、删除视图数据  delete from house_view t where t.AUTOID=1064 对 原表ba_house 会有影响吗

    如果你那个视图,是 单表的, 没写 触发器的。

    那么 如果 删除视图中的数据 成功了,那么 表中的数据 就被删除了。

    如果那个视图, 写了个 INSTEAD OF 触发器. 但是里面没有任何删除的动作。
    那么 可能你 DELETE FROM 视图, 最后表的数据,一点也没变化, 也是可以的。

    首先,要明白视图的原理。
    视图的数据都产生于表,视图本身是没有数据的,而表才是真正的数据来源。
    还有多级的视图,就是从视图还可以继续创建视图。
    所以,视图的数据来源是表或视图。但是最终的数据源一定是表。
    什么样的视图数据是可以使用DELETE的?只有从单表引过来的视图是可以的,这样的视图操作实际就相当于操作表,但是DROP VIEW不会对数据有任何影响。其他形势的视图,都是不可能删除数据的。但是DROP VIEW同样可以。
    视图只是根据关联关系从表中抓取数据。实际并没有像表一样有专门的存储这些数据。只是从表里引过来而已。只要你时刻记住,视图实际上并没有实际的存储数据,而是借用表的数据,这就够了。无论你创建或者删除视图,都不会影响数据本身。否则你想想,你创建了一个视图的时候,没想过为什么一下子就有了那么多数据了呢?也不是你插入的,因为就是从表引过来的而已。
    删除视图的语句是DROP VIEW 视图名字
    所以删除视图,不会对数据有任何影响。因为数据都在表中。想要恢复视图,重新创建,你的几千万条数据就又会出现了。视图的效果和SELECT查询一样,只是能把这个查询固定了,以便你直接拿来用。

    4、 IQueryable

    1)、我们看到其中有个接口属性 IQueryProvider ,这个接口的作用大着呢,主要作用是在执行查询操作符的时候重新创建 IQueryable<T> 并且最后遍历的时候执行sql远程取值。我们还看见了 Expression 属性。
    2)、 IQueryable<T> 最主要的作用就是用来存储 Expression(表达式树)

  • 相关阅读:
    简单封装DBUtils 和 pymysql 并实现简单的逆向工程生成class 类的py文件
    python学习第42、43天 HTMLCSS
    python学习第40天
    python学习第41天
    python学习第39天
    python学习第38天
    python学习第37天
    python学习第36天
    python学习第35天
    json转换为字典
  • 原文地址:https://www.cnblogs.com/hhhjzg/p/10172405.html
Copyright © 2020-2023  润新知