最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 如何使用python update()方法?代码操作过程

    正文概述    2020-04-18   353

    想必大家都不陌生吧,是最常见的python方法使用了,因此,好多小伙伴对于这块的转化,也要很长时间的消化,然后今天小编给大家总结了update方法的全部内容,一起来看下吧~

    一、业务场景:

    1)主从两个表,主表Student,有字段id、name、sex,从表Boy,有字段id、name,主从表同一对象id相同

    2)从表Boy的name属性被业务修改,定时批量处理主表,以维持主表name属性与从表一致

    二、表结构

    1、主表 Student

    2、从表 Boy

    三、建表SQL(DDL)

    1、主表 Student

    - DDL
    CREATE TABLE student (
    id NUMBER NOT NULL ,
    name VARCHAR2(255 BYTE) NULL ,
    sex VARCHAR2(255 BYTE) NULL
    )
     ALTER TABLE student ADD CHECK (id IS NOT NULL);
     
    -- DML
    INSERT INTO student VALUES ('1', 'zhangsan', 'boy');
    INSERT INTO student VALUES ('2', 'lisi', 'girl');
    INSERT INTO student VALUES ('3', 'wangwu', 'boy');、

    2、从表 Boy

    -- DDL
    CREATE TABLE boy (
    id NUMBER NOT NULL ,
    name VARCHAR2(255 BYTE) NULL
    )
     
    -- DML
    INSERT INTO boy VALUES ('1', '张三');
    INSERT INTO boy VALUES ('3', '王五');

    四、DML

    1、基本语法

    -- DML
    UPDATE student s SET s.name = '张三' WHERE id = 1;

    2、变相

     -- DML,0.015s
    UPDATE student s
    SET s.name = (
     SELECT b.name FROM boy b WHERE s.id = b.id AND s.name != b.name
    )
    WHERE EXISTS (
     SELECT 1 FROM boy b WHERE s.id = b.id AND s.name != b.name
    );

    3、快速游标法

     -- DML,0.014s
    BEGIN
     FOR cur IN (
     SELECT s.id sid, b.name bname
     FROM student s, boy b
     WHERE s.id = b.id AND s.name != b.name AND s.sex = 'boy'
     ) loop
     
     UPDATE student s SET s.name = cur.bname WHERE s.id = cur.sid;
     
     END loop ;
    END ;

    4、内联视图法(inline View)

    -- DML,0.019s
    UPDATE (
     SELECT
     s.name sname, b.name bname
     FROM
     student s, boy b
     WHERE
     s.id = b.id AND s.name != b.name
    )
    SET sname = bname;

    以上也运用了Oracle批量处理内容哦,如需了解更多python实用知识,点击进入起源地模板网教学中心


    起源地下载网 » 如何使用python update()方法?代码操作过程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元