您好,登錄后才能下訂單哦!
這篇文章主要介紹了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;
感謝你能夠認真閱讀完這篇文章,希望小編分享python中如何使用update()方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。