Oracle Update หลายคอลัมน์

Oracle Update Hlay Khxlamn



บทช่วยสอนนี้จะสอนวิธีอัปเดตหลายคอลัมน์ในตารางฐานข้อมูลโดยใช้คำสั่ง UPDATE

การอัปเดตหลายคอลัมน์ในตารางฐานข้อมูลเป็นปรากฏการณ์ทั่วไปสำหรับผู้ดูแลระบบฐานข้อมูล ตัวอย่างเช่น คุณอาจต้องตั้งค่าใหม่สำหรับคอลัมน์ตามค่าของคอลัมน์อื่น ตัวอย่างเช่น คุณอาจอัปเดตมูลค่าเงินเดือนตามระดับทักษะ เนื่องจากระดับทักษะสามารถเปลี่ยนแปลงได้หลายครั้งเมื่อเวลาผ่านไป คุณจึงพบว่าตัวเองกำลังอัปเดตคอลัมน์ดังกล่าว

ให้เราเรียนรู้ว่าเราจะใช้ส่วนคำสั่ง UPDATE ใน Oracle เพื่อตั้งค่าใหม่สำหรับคอลัมน์ตารางที่กำหนดได้อย่างไร







คำสั่ง UPDATE ของ Oracle

ในการอัปเดตค่าในตารางที่มีอยู่ เราใช้คำสั่ง UPDATE ตามที่แสดงในไวยากรณ์ต่อไปนี้:



อัพเดท table_name
SET คอลัมน์ 1 = new_value1,
คอลัมน์ 2 = new_value2,
...
คอลัมน์N = new_valueN
เงื่อนไขที่ไหน;

ที่ไหน:



  1. Table_name แทนชื่อตารางที่คุณต้องการอัปเดต
  2. Column_1, column_2,…,columnN กำหนดชื่อของคอลัมน์ที่คุณต้องการอัปเดต
  3. New_value1, new_value2,…new_valueN ให้คุณตั้งค่าใหม่สำหรับแต่ละคอลัมน์
  4. เงื่อนไขคือส่วนคำสั่งที่ไม่บังคับซึ่งอนุญาตให้คุณจำกัดแถวที่อัปเดต หากคุณข้ามเงื่อนไขคำสั่ง คำสั่งจะอัปเดตแถวทั้งหมดในตาราง

ตัวอย่างการอัปเดต Oracle

ให้เราดูตัวอย่างในโลกแห่งความเป็นจริงว่าเราสามารถใช้คำสั่ง UPDATE ใน Oracle ได้อย่างไร:





สร้างฐานข้อมูลตาราง (
ชื่อ VARCHAR2 ( ห้าสิบ ) ไม่เป็นโมฆะ,
default_port หมายเลข
latest_version VARCHAR2 ( ยี่สิบ ) ไม่เป็นโมฆะ,
พิมพ์ VARCHAR2 ( ยี่สิบ ) ไม่เป็นโมฆะ,
ภาษา VARCHAR2 ( ยี่สิบ ) ไม่เป็นโมฆะ
) ;

คำสั่งที่ให้ไว้สร้างตารางเพื่อจัดเก็บฐานข้อมูลล่าสุด พอร์ตเริ่มต้น เวอร์ชันฐานข้อมูลล่าสุด ประเภทฐานข้อมูล และภาษาการเขียนโปรแกรมที่ใช้ในการสร้างฐานข้อมูล

เราสามารถแทรกเรคคอร์ดตัวอย่างบางส่วนได้ดังตัวอย่างต่อไปนี้:



INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'ออราเคิล' , 1521 , '19c' , 'ความสัมพันธ์' , 'เอสคิวแอล' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'มายเอสคิวแอล' , 3306 , '8.0' , 'ความสัมพันธ์' , 'เอสคิวแอล' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'โพสต์เกรสคิวแอล' , 5432 , '13' , 'ความสัมพันธ์' , 'เอสคิวแอล' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'MongoDB' , 27017 , '4.4' , 'ไม่สัมพันธ์กัน' , 'จาวาสคริปต์' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'เซิร์ฟเวอร์ Microsoft SQL' , 1433 , '2017' , 'ความสัมพันธ์' , 'T-SQL' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'อาปาเช่คาสซานดรา' , 9042 , '4.0' , 'ไม่สัมพันธ์กัน' , 'ชวา' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'เรดดิส' , 6379 , '6.0' , 'ไม่สัมพันธ์กัน' , 'ซี++' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
VAUES ( 'มาเรียดีบี' , 3306 , '10.5' , 'ความสัมพันธ์' , 'เอสคิวแอล' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'SQLite' , โมฆะ, '3.34' , 'ความสัมพันธ์' , 'ค' ) ;
INSERT INTO ฐานข้อมูล ( ชื่อ, default_port, latest_version, พิมพ์ , ภาษา )
ค่านิยม ( 'นีโอโฟร์เจ' , 7474 , '4.1' , 'ไม่สัมพันธ์กัน' , 'ชวา' ) ;

หมายเหตุ: default_port สำหรับฐานข้อมูล SQLite ถูกตั้งค่าเป็น NULL เนื่องจาก SQLite ไม่มีหมายเลขพอร์ตเริ่มต้น

ตารางผลลัพธ์:

ตารางอัปเดต Oracle

สมมติว่าเราต้องการอัปเดต latest_version ชื่อ และพอร์ตเริ่มต้นสำหรับ Microsoft SQL Server เราสามารถเรียกใช้คิวรีอัปเดตได้ดังที่แสดงต่อไปนี้:

อัพเดทฐานข้อมูล
ชุด ชื่อ = 'เอ็มเอส เอส คิวแอล เซิร์ฟเวอร์' ,
default_port = 1400 ,
latest_version = '2022'
ที่ชื่อชอบ 'เซิร์ฟเวอร์ Microsoft SQL' ;

แบบสอบถามควรค้นหาแถวที่ชื่อ LIKE “Microsoft SQL Server” และเปลี่ยนชื่อ default_port และ latest_version เป็นค่าใหม่

หมายเหตุ: ข้อมูลก่อนหน้านี้มีวัตถุประสงค์เพื่อการสาธิต อาจไม่สะท้อนข้อมูลล่าสุดเกี่ยวกับฐานข้อมูลอย่างถูกต้อง

เมื่ออัปเดตแล้ว เราจะดูตารางใหม่สำหรับการเปลี่ยนแปลงข้อมูลได้ดังนี้

อย่างที่เราเห็น ตารางแสดงการเปลี่ยนแปลงที่อัปเดต

บทสรุป

ในบทช่วยสอนนี้ คุณได้พบกับคำสั่ง UPDATE ที่ให้คุณอัปเดตคอลัมน์เดียวหรือหลายคอลัมน์ในตารางฐานข้อมูล

อย่างไรก็ตาม เช่นเดียวกับวิธีปฏิบัติด้านฐานข้อมูลส่วนใหญ่ วิธีนี้มาพร้อมกับข้อเสียที่อาจเกิดขึ้น ตัวอย่างเช่น:

  1. ประสิทธิภาพ – การอัปเดตหลายคอลัมน์ใช้เวลานานและใช้ทรัพยากรมากกว่าการอัปเดตคอลัมน์เดียว สิ่งนี้มีความสำคัญมากขึ้น โดยเฉพาะอย่างยิ่งเมื่อคูณแถวจำนวนมากด้วยข้อมูลที่ซับซ้อน
  2. ความสมบูรณ์ของข้อมูล – ข้อกังวลอีกประการหนึ่งเมื่ออัปเดตหลายคอลัมน์คือความสมบูรณ์ของข้อมูล หากใช้ไม่ถูกต้อง การอัปเดตหลายคอลัมน์อาจทำให้ข้อมูลเสียหายหรือสูญหายได้ คุณสามารถดำดิ่งสู่เทคนิคการทำให้เป็นมาตรฐานของข้อมูลต่างๆ เพื่อลดปัญหานี้ได้ แต่ควรคำนึงถึงเสมอ คุณยังสามารถทดสอบการสืบค้นการอัปเดตของคุณในระหว่างการพัฒนาก่อนที่จะนำไปใช้จริง
  3. ความซับซ้อนของแบบสอบถาม – ในทำนองเดียวกัน การรันคำสั่งอัพเดทสามารถเพิ่มความซับซ้อนของแบบสอบถามของคุณ ทำให้ยากต่อการอ่าน บำรุงรักษา หรือดีบัก

ในท้ายที่สุด การอัปเดตหลายคอลัมน์ในฐานข้อมูล Oracle อาจมีประโยชน์ในบางสถานการณ์ ถึงกระนั้น สิ่งสำคัญคือต้องพิจารณาใช้แนวทางปฏิบัติที่ดีที่สุดเพื่อลดความเสี่ยง