Python MySQL - Klausa mana
Jika Anda ingin mengambil, menghapus atau, memperbarui baris tertentu dari tabel di MySQL, Anda perlu menggunakan klausa where untuk menentukan kondisi guna memfilter baris tabel untuk operasi.
Misalnya, jika Anda memiliki pernyataan SELECT dengan klausa where, hanya baris yang memenuhi kondisi yang ditentukan yang akan diambil.
Sintaksis
Berikut ini adalah sintaks klausa WHERE -
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
Contoh
Asumsikan kita telah membuat tabel di MySQL dengan nama EMPLOYEES sebagai -
mysql> CREATE TABLE EMPLOYEE(
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT
);
Query OK, 0 rows affected (0.36 sec)
Dan jika kita telah memasukkan 4 record ke dalamnya menggunakan pernyataan INSERT sebagai -
mysql> INSERT INTO EMPLOYEE VALUES
('Krishna', 'Sharma', 19, 'M', 2000),
('Raj', 'Kandukuri', 20, 'M', 7000),
('Ramya', 'Ramapriya', 25, 'F', 5000),
('Mac', 'Mohan', 26, 'M', 2000);
Mengikuti pernyataan MySQL mengambil catatan karyawan yang penghasilannya lebih dari 4000.
mysql> SELECT * FROM EMPLOYEE WHERE INCOME > 4000;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Raj | Kandukuri | 20 | M | 7000 |
| Ramya | Ramapriya | 25 | F | 5000 |
+------------+-----------+------+------+--------+
2 rows in set (0.00 sec)
Klausa WHERE menggunakan python
Untuk mengambil catatan tertentu dari tabel menggunakan program python -
impor mysql.connector paket.
Buat objek koneksi menggunakan mysql.connector.connect() metode, dengan meneruskan nama pengguna, kata sandi, host (opsional default: localhost) dan, database (opsional) sebagai parameter untuk itu.
Buat objek kursor dengan memanggil cursor() metode pada objek koneksi yang dibuat di atas.
Kemudian, jalankan pernyataan SELECT dengan klausa WHERE , dengan meneruskannya sebagai parameter keexecute() metode.
Contoh
Contoh berikut membuat tabel bernama Karyawan dan mengisinya. Kemudian menggunakan klausa where, ia mengambil rekaman dengan nilai usia kurang dari 23.
import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
user='root', password='password', host='127.0.0.1', database='mydb')
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
sql = '''CREATE TABLE EMPLOYEE(
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT
)'''
cursor.execute(sql)
#Populating the table
insert_stmt = "INSERT INTO EMPLOYEE (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES (%s, %s, %s, %s, %s)"
data = [('Krishna', 'Sharma', 19, 'M', 2000), ('Raj', 'Kandukuri', 20, 'M', 7000),
('Ramya', 'Ramapriya', 25, 'F', 5000),('Mac', 'Mohan', 26, 'M', 2000)]
cursor.executemany(insert_stmt, data)
conn.commit()
#Retrieving specific records using the where clause
cursor.execute("SELECT * from EMPLOYEE WHERE AGE <23")
print(cursor.fetchall())
#Closing the connection
conn.close()
Keluaran
[('Krishna', 'Sharma', 19, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)]