آموزش انتخاب داده MySQL در پایتون
آموزش انتخاب داده MySQL در پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش انتخاب داده MySQL در پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون
با استفاده از کوئری SELECT می توانید داده ها را از یک جدول در MySQL بازیابی/واکش کنید. این کوئری / دستور محتویات جدول مشخص شده را به صورت جدولی برمی گرداند و به عنوان مجموعه نتیجه نامیده می شود.
در زیر سینتکس کوئری SELECT آمده است
1 |
SELECT column1, column2, columnN FROM table_name; |
مثال
فرض کنید جدولی در MySQL با نام cricketers_data به صورت − ایجاد کرده ایم
1 2 3 4 5 6 7 |
CREATE TABLE cricketers_data( First_Name VARCHAR(255), Last_Name VARCHAR(255), Date_Of_Birth date, Place_Of_Birth VARCHAR(255), Country VARCHAR(255) ); |
و اگر 5 رکورد را با استفاده از دستورات INSERT به عنوان – در آن درج کرده باشیم
1 2 3 4 5 6 7 8 9 10 |
insert into cricketers_data values( 'Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India'); insert into cricketers_data values( 'Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica'); insert into cricketers_data values( 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka'); insert into cricketers_data values( 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India'); insert into cricketers_data values( 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'); |
جستجوی زیر مقادیر FIRST_NAME و Country را از جدول بازیابی می کند.
1 2 3 4 5 6 7 8 9 10 11 |
mysql> select FIRST_NAME, Country from cricketers_data; +------------+-------------+ | FIRST_NAME | Country | +------------+-------------+ | Shikhar | India | | Jonathan | SouthAfrica | | Kumara | Srilanka | | Virat | India | | Rohit | India | +------------+-------------+ 5 rows in set (0.00 sec) |
همچنین می توانید تمام مقادیر هر رکورد را با استفاده از * درج نام ستون ها به صورت – بازیابی کنید.
1 2 3 4 5 6 7 8 9 10 11 |
mysql> SELECT * from cricketers_data; +------------+------------+---------------+----------------+-------------+ | First_Name | Last_Name | Date_Of_Birth | Place_Of_Birth | Country | +------------+------------+---------------+----------------+-------------+ | Shikhar | Dhawan | 1981-12-05 | Delhi | India | | Jonathan | Trott | 1981-04-22 | CapeTown | SouthAfrica | | Kumara | Sangakkara | 1977-10-27 | Matale | Srilanka | | Virat | Kohli | 1988-11-05 | Delhi | India | | Rohit | Sharma | 1987-04-30 | Nagpur | India | +------------+------------+---------------+----------------+-------------+ 5 rows in set (0.00 sec) |
خواندن داده ها از جدول MYSQL با استفاده از پایتون
عملیات READ در هر پایگاه داده به معنای واکشی اطلاعات مفید از پایگاه داده است. می توانید داده ها را از MYSQL با استفاده از متد fetch() ارائه شده توسط mysql-connector-python واکشی کنید.
- کلاس cursor.MySQLCursor سه روش به نامهای ()fetchall()، fetchmany و ()fetchone ارائه میکند که در آن،
- متد ()fetchall تمام سطرهای مجموعه نتیجه یک پرس و جو را بازیابی می کند و آنها را به صورت لیستی از تاپل ها برمی گرداند. (اگر این را پس از بازیابی چند ردیف اجرا کنیم، بقیه سطرها را برمی گرداند).
- متد ()fetchone سطر بعدی را در نتیجه یک کوئری واکشی می کند و آن را به صورت تاپل برمی گرداند.
- متد ()fetchmany شبیه ()fetchone است، اما به جای یک سطر، مجموعه سطرهای بعدی را در مجموعه نتیجه یک پرس و جو بازیابی می کند.
نکته – یک مجموعه نتیجه شی ای است که وقتی از یک شی مکان نما برای پرس و جو از جدول استفاده می شود، برگردانده می شود.
rowcount – این یک ویژگی فقط خواندنی است و تعداد ردیف هایی را که تحت تأثیر متد execute() قرار گرفته اند را برمی گرداند.
مثال
مثال زیر تمام سطرهای جدول EMPLOYEE را با استفاده از کوئری SELECT واکشی می کند و از مجموعه نتایج به دست آمده در ابتدا، سطر اول را با استفاده از متد ()fetchone و سپس سطرهای باقی مانده را با استفاده از متد ()fetchall واکشی می کنیم.
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 |
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 single row sql = '''SELECT * from EMPLOYEE''' #Executing the query cursor.execute(sql) #Fetching 1st row from the table result = cursor.fetchone(); print(result) #Fetching 1st row from the table result = cursor.fetchall(); print(result) #Closing the connection conn.close() |
خروجی
1 2 |
('Krishna', 'Sharma', 19, 'M', 2000.0) [('Raj', 'Kandukuri', 20, 'M', 7000.0), ('Ramya', 'Ramapriya', 25, 'M', 5000.0)] |
مثال زیر دو سطر اول جدول EMPLOYEE را با استفاده از متد fetchmany() بازیابی می کند.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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 single row sql = '''SELECT * from EMPLOYEE''' #Executing the query cursor.execute(sql) #Fetching 1st row from the table result = cursor.fetchmany(size =2); print(result) #Closing the connection conn.close() |
خروجی
1 |
[('Krishna', 'Sharma', 19, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)] |
دیدگاه شما