0Pricing
Python Academy · บทเรียน

Insert, Select, Update, Delete

ดำเนินการ CRUD

Insert, Select, Update, Delete เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

การดำเนินการ CRUD

การดำเนินการพื้นฐานของฐานข้อมูลมีสี่อย่าง ได้แก่ สร้าง อ่าน แก้ไข และลบ (CRUD) ใน SQL การดำเนินการเหล่านี้ตรงกับ INSERT, SELECT, UPDATE และ DELETE

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
print('Ready for CRUD')
conn.close()

การเพิ่มแถวข้อมูล

ใช้ INSERT INTO เพื่อเพิ่มแถวข้อมูล ให้ระบุคอลัมน์ก่อน แล้วตามด้วยค่าที่สอดคล้องกัน

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
print('Inserted Alice')
conn.close()

การอ่านแถวข้อมูลทั้งหมด

SELECT * อ่านข้อมูลทุกคอลัมน์ ใช้ fetchall() เพื่อรับรายการแถวข้อมูลทั้งหมดในรูปทูเพิล

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")
cur.execute('SELECT * FROM users')
print(cur.fetchall())
conn.close()

การดึงข้อมูลหนึ่งแถว

fetchone() คืนค่าแถวข้อมูลหนึ่งแถว หรือ None เมื่อไม่มีแถวเหลือแล้ว ซึ่งเหมาะสำหรับกรณีที่คาดว่าจะได้ผลลัพธ์เพียงรายการเดียว

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
cur.execute('SELECT * FROM users')
print(cur.fetchone())
conn.close()

การเลือกคอลัมน์ที่ต้องการ

แทนที่จะใช้ * ให้ระบุชื่อคอลัมน์ที่ต้องการ วิธีนี้ทำงานได้เร็วกว่าและอ่านเข้าใจได้ง่ายกว่า

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute('SELECT name FROM users')
print(cur.fetchall())
conn.close()

การกรองด้วย WHERE

ส่วนคำสั่ง WHERE ใช้จำกัดว่าแถวใดจะได้รับผลกระทบหรือถูกส่งคืน

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")
cur.execute('SELECT name FROM users WHERE age > 28')
print(cur.fetchall())
conn.close()

การแก้ไขแถวข้อมูล

UPDATE ใช้เปลี่ยนแปลงข้อมูลที่มีอยู่แล้ว ให้เพิ่มส่วนคำสั่ง WHERE เสมอ มิฉะนั้นทุกแถวจะถูกแก้ไข

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
cur.execute('SELECT age FROM users')
print(cur.fetchone())
conn.close()

การลบแถวข้อมูล

DELETE FROM ใช้ลบแถวข้อมูล เช่นเดียวกับ UPDATE คำสั่งนี้ต้องมีส่วนคำสั่ง WHERE เพื่อระบุแถวที่ต้องการ

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
cur.execute("INSERT INTO users (name) VALUES ('Bob')")
cur.execute("DELETE FROM users WHERE name = 'Bob'")
cur.execute('SELECT * FROM users')
print(cur.fetchall())
conn.close()

การนับแถวที่ได้รับผลกระทบ

หลังจากใช้ UPDATE หรือ DELETE แล้ว cursor.rowcount จะบอกจำนวนแถวที่มีการเปลี่ยนแปลง

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
cur.execute("INSERT INTO users (name) VALUES ('Bob')")
cur.execute('DELETE FROM users')
print('Deleted rows:', cur.rowcount)
conn.close()

lastrowid ล่าสุด

หลังจากใช้ INSERT แล้ว cursor.lastrowid จะคืนค่าคีย์หลักที่สร้างโดยอัตโนมัติของแถวใหม่

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
print('New id:', cur.lastrowid)
conn.close()

การจัดเรียงผลลัพธ์

เพิ่ม ORDER BY เพื่อจัดเรียง ใช้ ASC สำหรับการเรียงจากน้อยไปมาก (ค่าเริ่มต้น) หรือ DESC สำหรับการเรียงจากมากไปน้อย

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")
cur.execute('SELECT name FROM users ORDER BY age DESC')
print(cur.fetchall())
conn.close()

ตรวจสอบความเข้าใจ

ทดสอบความรู้เกี่ยวกับ CRUD ของคุณ

สรุปทบทวน

คุณได้ฝึกใช้ CRUD อย่างครบถ้วนกับ SQLite

  • INSERT INTO ใช้เพิ่มแถวข้อมูล ส่วน lastrowid จะคืนค่ารหัสของแถวใหม่
  • SELECT ใช้อ่านข้อมูลด้วย fetchone() หรือ fetchall()
  • UPDATE และ DELETE ใช้เปลี่ยนแปลงแถวข้อมูล โดยต้องมี WHERE เสมอ
  • ORDER BY ใช้จัดเรียงผลลัพธ์

คำถามที่พบบ่อย

บทเรียน “Insert, Select, Update, Delete” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Insert, Select, Update, Delete” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Insert, Select, Update, Delete”

ดำเนินการ CRUD คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “Insert, Select, Update, Delete” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเชื่อมต่อและการสร้างตาราง
  2. Insert, Select, Update, Delete
  3. คำสั่งสอบถามแบบกำหนดพารามิเตอร์
  4. ธุรกรรมและตัวจัดการบริบท
← กลับไปที่ Python Academy