Home » python » MySQL Where di Python

MySQL Where di Python

by Catur Kurnia Sari
by Catur Kurnia Sari

Memilih Dengan Filter

Saat memilih record dari tabel, kita dapat memfilter pemilihan dengan menggunakan pernyataan “WHERE”.

Contoh:
Pilih record dengan alamat “Park Lane 38”: hasil

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  password="mypassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address = 'Park Lane 38'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

Karakter Wildcard

Kita juga dapat memilih record yang dimulai, menyertakan, atau diakhiri dengan huruf atau frasa tertentu.

Gunakan% untuk mewakili karakter wildcard.

Contoh:
Pilih record yang alamatnya mengandung kata “way”

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  password="mypassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address Like '%way%'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

Mencegah Injeksi SQL

Saat nilai kueri diberikan oleh pengguna, kita harus keluar dari nilai.

Ini untuk mencegah terjadinya injeksi SQL, yang merupakan teknik peretasan web umum untuk menghancurkan atau menyalahgunakan database.

Modul mysql.connector memiliki metode untuk keluar dari nilai kueri.

Contoh:
Keluar dari nilai kueri dengan menggunakan metode% s placholder

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  password="mypassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

You may also like