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

آموزش کار با 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 را بررسی کنیم.

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



برچسب ها :