0Pricing
Python Academy · Lekcja

Insert, Select, Update, Delete

Wykonuj operacje CRUD

Insert, Select, Update, Delete to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Operacje CRUD

Cztery podstawowe operacje na bazie danych to tworzenie, odczytywanie, aktualizowanie i usuwanie (CRUD). W języku SQL odpowiadają im instrukcje INSERT, SELECT, UPDATE i 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()

Wstawianie wiersza

Użyj INSERT INTO, aby dodać wiersz. Wymień kolumny, a następnie odpowiadające im wartości.

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()

Odczytywanie wszystkich wierszy

SELECT * odczytuje wszystkie kolumny. Użyj fetchall(), aby pobrać listę wszystkich wierszy w postaci krotek.

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()

Pobieranie jednego wiersza

fetchone() zwraca pojedynczy wiersz albo None, gdy nie ma już więcej wierszy. Przydaje się, gdy oczekujesz dokładnie jednego wyniku.

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()

Wybieranie konkretnych kolumn

Zamiast * podaj nazwy potrzebnych kolumn. Takie zapytanie jest szybsze i czytelniejsze.

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()

Filtrowanie za pomocą WHERE

Klauzula WHERE ogranicza liczbę wierszy, których dotyczy operacja lub które są zwracane.

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()

Aktualizowanie wierszy

UPDATE zmienia istniejące dane. Zawsze dodawaj klauzulę WHERE, ponieważ w przeciwnym razie zostanie zaktualizowany każdy wiersz.

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()

Usuwanie wierszy

DELETE FROM usuwa wiersze. Podobnie jak UPDATE, wymaga klauzuli WHERE, aby wskazać konkretne wiersze.

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()

Zliczanie zmienionych wierszy

Po wykonaniu UPDATE lub DELETE właściwość cursor.rowcount informuje, ile wierszy uległo zmianie.

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

Po wykonaniu INSERT właściwość cursor.lastrowid zwraca automatycznie wygenerowany klucz główny nowego wiersza.

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()

Sortowanie wyników

Dodaj ORDER BY, aby posortować wyniki. Użyj ASC do sortowania rosnącego (domyślnego) albo DESC do sortowania malejącego.

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()

Szybki test

Sprawdź swoją wiedzę o operacjach CRUD.

Podsumowanie

Przećwiczyłeś pełny zestaw operacji CRUD w SQLite.

  • INSERT INTO dodaje wiersze, a lastrowid zwraca identyfikator nowego wiersza
  • SELECT odczytuje dane za pomocą fetchone() lub fetchall()
  • UPDATE i DELETE zmieniają wiersze, zawsze z użyciem WHERE
  • ORDER BY sortuje wyniki

Często zadawane pytania

Czy lekcja „Insert, Select, Update, Delete” jest bezpłatna?

Tak — pełny tekst „Insert, Select, Update, Delete” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Insert, Select, Update, Delete”?

Wykonuj operacje CRUD Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Insert, Select, Update, Delete”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Łączenie i tworzenie tabel
  2. Insert, Select, Update, Delete
  3. Zapytania parametryzowane
  4. Transakcje i menedżery kontekstu
← Powrót do Python Academy