منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش کار با MySQL در پایتون؛ بخش پنجم، خواندن از جداول

با بخش پنجم از آموزش استفاده از سیستم مدیریت پایگاه داده MySQL در پایتون، با ما در اوپن مایند همراه باشید!

بخش قبلی این سری آموزشی، در این صفحه منتشر شده است: آموزش کار با MySQL در پایتون؛ بخش چهارم، نوشتن اطلاعات در جداول

تا به اینجای کار در بخش های قبلی یاد گرفتیم که چطور به پایگاه داده ای در سیستم MySQL متصل شویم و سپس جدول بسازیم و در نهایت در جدول اطلاعات مدنظرمان را اضافه کنیم. حالا سعی می کنیم خواندن اطلاعات را پوشش دهیم.

خواندن از یک جدول با SELECT

برای خواندن از یک جدول در MySQL ، از دستور

SELECT
استفاده می کنیم.

در مثال زیر از جدول “customers” که در بخش های قبلی آموزش ساخته و پر کرده ایم، همه بخش های اطلاعات تمام رکوردهای مشتری ها را می خوانیم و روی خروجی کنسول چاپ می کنیم.

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

لازم بدانید که برای خواندن اطلاعات تمام مشتری ها بعد از اجرای یک کوئری در خط ۱۲ ، از تابع

()fetchall
استفاده شده است. این تابع تمام خروجی آخرین SQL اجرا شده را بر می گرداند.

خواندن ستون های مشخصی از رکوردهای جدول

برای خواندن تنها تعدادی از ستون های یک جدول بعد از دستور

SELECT
نام ستون ها را هم اضافه می کنیم (به جای وایلدکارد *).

در مثال زیر تنها ستون های نام و آدرس مشتری ها خوانده و نماش داده می شود.

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT name, address FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

خواندن اطلاعات با استفاده از تابع fetchone

اگر شما بخواهید تنها یک ردیف از نتیجه اجرای کوئری را به دست بیاورید، می توانید از تابع

()fetchone
استفاده کنید.

در واقع اگر نتیجه اجرای کوئری تهی نباشد، تابع

()fetchone
در هر بار اجرا ردیف بعدی را بر می گرداند (بدیهی است که از اولین ردیف شروع می شود). اگر کمی بیشتر با پایتون آشنا باشید، متوجه خواهید شد که تابع
()fetchone
یک تابع generator است.

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

row = mycursor.fetchone()
while row is not None:
  print(row)
  row = mycursor.fetchone()

خواندن اطلاعات با استفاده از تابع fetchmany

اگر بخواهید اطلاعات حاصل از اجرای یک کوئری را به صورت دسته ای با اندازه مشخص بخوانید، باید از تابع

()fetchmany
استفاده کنید. این تابع پارامتری به نام size دارد که با مقدار دهی آن و با هر بار فراخوانی تابع، به اندازه مقدار size به شما ردیف (رکورد) تحویل می دهد (در صورت وجود).

به طور مثال اگر خط زیر برای بار اول فراخوانی شود، ۵ ردیف اول را بر می گرداند؛ و در صورت فراخوانی برای بار دوم، ۵ ردیف دوم را بر می گرداند و الی آخر .

rows = mycursor.fetchmany(size=5)

 

در بخش بعدی این سری آموزشی، خواندن اطلاعات را کمی پیچیده تر می کنیم و خواندن شرطی با استفاده از WHERE را بررسی کنیم.

با اوپن مایند، وبسایت آموزش الگوریتم ها و برنامه نویسی، همراه باشید!



برچسب ها :