آموزش عبارت MySQL – Where در پایتون
آموزش عبارت MySQL – Where در پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش عبارت MySQL – Where در پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار
اگر میخواهید ردیفهای خاصی از جدول را در MySQL واکشی، حذف یا بهروزرسانی کنید، باید از عبارت Where برای فیلتر کردن ردیفهای جدول برای عملیات استفاده کنید.
به عنوان مثال، اگر یک عبارت SELECT با عبارت Where داشته باشید، تنها ردیف هایی که شرایط مشخص شده را برآورده می کنند، بازیابی می شوند.
در زیر نحو عبارت WHERE – آمده است
1 2 3 |
SELECT column1, column2, columnN FROM table_name WHERE [condition] |
مثال
فرض کنید جدولی در MySQL با نام EMPLOYEES به صورت – ایجاد کرده ایم
1 2 3 4 5 6 7 8 |
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) |
و اگر 4 رکورد را با استفاده از دستورات INSERT به عنوان – در آن درج کرده باشیم
1 2 3 4 5 |
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); |
زیر بیانیه MySQL سوابق کارمندانی که درآمد آنها بیشتر از 4000 است را بازیابی می کند.
1 2 3 4 5 6 7 8 |
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) |
برای واکشی رکوردهای خاص از یک جدول با استفاده از برنامه پایتون –
- بسته mysql.connector را وارد کنید.
- یک آبجکت اتصال با استفاده از متد ()mysql.connector.connect ایجاد کنید و نام کاربری، رمز عبور، میزبان (پیشفرض اختیاری: localhost) و پایگاه داده (اختیاری) را به عنوان پارامتر به آن بدهید.
- با فراخوانی متد ()cursor روی شی اتصال ایجاد شده در بالا، یک شی مکان نما ایجاد کنید.
- سپس، دستور SELECT را با عبارت WHERE، با ارسال آن به عنوان پارامتر به متد ()execute اجرا کنید.
مثال
مثال زیر جدولی به نام Employee ایجاد می کند و آن را پر می کند. سپس با استفاده از عبارت Where رکوردهایی را با مقدار سن کمتر از 23 بازیابی می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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() |
خروجی
1 |
[('Krishna', 'Sharma', 19, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)] |
دیدگاه شما