Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Pelajari cara menggunakan MySQL WHERE dalam Python untuk melakukan query data dengan kondisi tertentu secara mudah dan praktis.
MySQL adalah database yang sering digunakan untuk menyimpan dan mengelola data. Dalam Python, kamu bisa mengakses dan memanipulasi data dari MySQL menggunakan query SQL. Salah satu bagian penting dari query adalah kata kunci WHERE yang digunakan untuk memfilter data berdasarkan kondisi tertentu.
MySQL WHERE adalah bagian dari query SQL yang digunakan untuk memilih data dengan kriteria tertentu. Dengan WHERE, kamu bisa mengambil hanya data yang memenuhi syarat, sehingga hasil query lebih spesifik dan tidak mengambil semua data.
Misalnya, kamu ingin mengambil data dari tabel users
hanya untuk yang berusia di atas 25 tahun. Kamu bisa menggunakan sintaks:
SELECT * FROM users WHERE age > 25;
Dalam Python, kamu bisa menjalankan query ini dengan library seperti mysql-connector-python
atau PyMySQL
.
Berikut adalah contoh sederhana untuk menjalankan query dengan WHERE menggunakan mysql-connector-python
:
Jika belum terpasang, kamu bisa install dulu dengan perintah:
pip install mysql-connector-python
import mysql.connector
# Membuat koneksi ke database
conn = mysql.connector.connect(
host="localhost",
user="root",
password="passwordkamu",
database="namadb"
)
cursor = conn.cursor()
# Query dengan WHERE untuk mengambil user dengan usia lebih dari 25 tahun
query = "SELECT * FROM users WHERE age > %s"
age_limit = 25
cursor.execute(query, (age_limit,))
results = cursor.fetchall()
for row in results:
print(row)
# Tutup koneksi
cursor.close()
conn.close()
query = "SELECT * FROM users WHERE age > %s"
Menggunakan placeholder %s
agar query lebih aman dari SQL Injection.
cursor.execute(query, (age_limit,))
Menjalankan query dan memasukkan age_limit
ke dalam placeholder.
cursor.fetchall()
Mengambil semua data yang sesuai kondisi.
Kamu bisa memakai berbagai kondisi dengan WHERE, seperti:
Kondisi | Contoh SQL |
---|---|
Sama dengan | SELECT * FROM users WHERE name = 'John'; |
Tidak sama | SELECT * FROM users WHERE status <> 'inactive'; |
Lebih besar | SELECT * FROM users WHERE age > 30; |
Lebih kecil sama | SELECT * FROM users WHERE score <= 100; |
LIKE (pola) | SELECT * FROM users WHERE email LIKE '%@gmail.com'; |
IN (beberapa nilai) | SELECT * FROM users WHERE role IN ('admin','editor','author'); |
BETWEEN | SELECT * FROM orders WHERE total BETWEEN 100 AND 500; |
IS NULL | SELECT * FROM profiles WHERE bio IS NULL; |
AND | SELECT * FROM products WHERE category = 'book' AND stock > 0; |
OR | SELECT * FROM logs WHERE level = 'error' OR level = 'warning'; |
NOT | SELECT * FROM users WHERE NOT active; |
EXISTS | SELECT * FROM users u WHERE EXISTS (SELECT 1 FROM orders o WHERE o.user_id = u.id); |
Subquery | SELECT * FROM users WHERE id IN (SELECT user_id FROM orders); |