آموزش عبارت MySQL – OrderBy در پایتون
آموزش عبارت MySQL – OrderBy در پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش عبارت MySQL – OrderBy در پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
هنگام واکشی داده ها با استفاده از کوئری SELECT، می توانید نتایج را به ترتیب دلخواه (صعودی یا نزولی) با استفاده از عبارت OrderBy مرتب کنید. بهطور پیشفرض، این بند نتایج را به ترتیب صعودی مرتب میکند، اگر لازم است آنها را به ترتیب نزولی مرتب کنید، باید از «DESC» به صراحت استفاده کنید.
در زیر سینتکس SELECT ستونی لیست آمده است
1 2 3 |
FROM table_name [WHERE condition] [ORDER BY column1, column2,.. columnN] [ASC | DESC]; of the ORDER BY clause: |
مثال
فرض کنید جدولی در MySQL با نام EMPLOYEES به صورت – ایجاد کرده ایم
mysql> CREATE TABLE Employee(
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); |
عبارت زیر محتویات جدول EMPLOYEE را به ترتیب افزایش سن بازیابی می کند.
1 2 3 4 5 6 7 8 9 10 |
mysql> SELECT * FROM EMPLOYEE ORDER BY AGE; +------------+-----------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+-----------+------+------+--------+ | Krishna | Sharma | 19 | M | 2000 | | Raj | Kandukuri | 20 | M | 7000 | | Ramya | Ramapriya | 25 | F | 5000 | | Mac | Mohan | 26 | M | 2000 | +------------+-----------+------+------+--------+ 4 rows in set (0.04 sec) |
همچنین می توانید داده ها را به ترتیب نزولی با استفاده از DESC به صورت – بازیابی کنید
1 2 3 4 5 6 7 8 9 10 |
mysql> SELECT * FROM EMPLOYEE ORDER BY FIRST_NAME, INCOME DESC; +------------+-----------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+-----------+------+------+--------+ | Krishna | Sharma | 19 | M | 2000 | | Mac | Mohan | 26 | M | 2000 | | Raj | Kandukuri | 20 | M | 7000 | | Ramya | Ramapriya | 25 | F | 5000 | +------------+-----------+------+------+--------+ 4 rows in set (0.00 sec) |
عبارت ORDER BY با استفاده از پایتون
برای بازیابی محتویات یک جدول به ترتیب خاص، متد ()ظexecute را روی شی مکان نما فراخوانی کنید و عبارت SELECT را همراه با عبارت ORDER BY به عنوان پارامتر به آن ارسال کنید.
مثال
در مثال زیر جدولی با نام و کارمند ایجاد میکنیم، آن را پر میکنیم و رکوردهای آن را به ترتیب (صعودی) سنشان با استفاده از عبارت ORDER BY بازیابی میکنیم.
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 36 37 |
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', 26, 'M', 2000), ('Raj', 'Kandukuri', 20, 'M', 7000), ('Ramya', 'Ramapriya', 29, 'F', 5000), ('Mac', 'Mohan', 26, 'M', 2000)] cursor.executemany(insert_stmt, data) conn.commit() #Retrieving specific records using the ORDER BY clause cursor.execute("SELECT * from EMPLOYEE ORDER BY AGE") print(cursor.fetchall()) #Closing the connection conn.close() |
خروجی
1 2 3 4 5 |
[('Raj', 'Kandukuri', 20, 'M', 7000.0), ('Krishna', 'Sharma', 26, 'M', 2000.0), ('Mac', 'Mohan', 26, 'M', 2000.0), ('Ramya', 'Ramapriya', 29, 'F', 5000.0) ] |
به همین ترتیب می توانید با استفاده از عبارت ORDER BY داده ها را از جدول به ترتیب نزولی بازیابی کنید.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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() #Retrieving specific records using the ORDERBY clause cursor.execute("SELECT * from EMPLOYEE ORDER BY INCOME DESC") print(cursor.fetchall()) #Closing the connection conn.close() |
خروجی
1 2 3 4 5 |
[('Raj', 'Kandukuri', 20, 'M', 7000.0), ('Ramya', 'Ramapriya', 29, 'F', 5000.0), ('Krishna', 'Sharma', 26, 'M', 2000.0), ('Mac', 'Mohan', 26, 'M', 2000.0) ] |
دیدگاه شما