[ad_1]
MySQL یکی از مروفترین دیتابیسها است و در این مقاله میخواهیم چگونگی اتصال به آن را از طریق زبان برنامهنویسی پایتون را آموزش دهیم.
اگر میخواهید اطلاعات بیشتری راجع به این دیتابیس داشته باشید، مقاله MySQL چیست را بخوانید.
همچنین برای آشنایی با Python هم میتوانید مقاله پایتون چیست را بخوانید.
اتصال به MySQL از طریق پایتون
برای انجام اینکار، ابتدا باید حداقل یکی از پکیجهای زیر را در Virtual Environment پایتون (فضای اختصاصی این زبان) نصب کنید:
- Mysqlclient: این پکیج حاوی ماژول MySQLdb است. با زبان C نوشته شده و یکی از پراستفادهترین پکیجهای پایتون برای اتصال به MySQL است.
- :mysql-connector-python این پکیج حاوی ماژول connector است و تماماً با زبان پایتون نوشته شده است.
- PyMySQL: این پکیج حاوی ماژول PyMySQL است و تماماً با زبان برنامهنویسی پایتون نوشته شده است.
نکته: هر دو پکیج از Python’s Portable SQL Database API پشتیبانی میکنند؛ یعنی اگر بخواهید از پکیجی به پکیج دیگر منتقل شوید، همچنان تمام کدها برایتان در دسترس خواهند بود.
تنظیم Virtual Environment پایتون و نصب یک پکیج MySQL
برای تنظیم VE پایتون و نصب یک پکیج MySQL، اقدامات زیر را بهترتیب انجام دهید:
- توسط SSH وارد اکانتتان شوید.
- برای خلق Virtual Environment، از دستور زیر استفاده کنید:
در دستور بالا، نام Virtual Environment را sqlnve در نظر گرفتیم. دستورهای بعدی هم چنین در نظر میگیرند که نام VE همین است. البته که میتوانید هر نامی که دوست دارید انتخاب کنید؛ اما اگر اینکار را کردید، حواستان باشد که در دستورات بعدی، بهجای sqlnve نامی که خودتان انتخاب کردید را بنویسید.
همچنین اگر از نسخه دستکاری شده پایتون استفاده میکنید، میتوانید آن را در Virtual Environment مشخص کنید.
مثلاً برای نصب یک نسخه تنظیمشده توسط کاربر پایتون ۳.۸ در Virtual Environment باید دستور زیر را بنویسید:
virtualenv –p /home/username/bin/python3.۸ sqlenv |
- برای فعالسازی Virtual Environment پس از ساخت، باید دستور زیر را وارد کنید:
source sqlenv/bin/activate |
نکته: از اینجا به بعد، محیط خط فرمان (Command Prompt) بهصورت پیشفرض در نظر میگیرد که شما در حال استفاده از sqlnve هستید. تمام دستورات بعدی هم با همین فرض انجام میشوند. اگر از SSH خارج شدهاید یا با دستور Deactive محیط پایتون را غیرفعال کردهاید، حتماً دقت کنید که مجدداً آن را فعال کرده باشید تا برویم سراغ دستورات بعدی!
برای بهروزرسانی pip در Virtual Environment دستور زیر را بنویسید:
- برای نصب هرکدام از پکیجها، باید یکی از دستورات زیر را وارد کنید:
برای نصب پکیج mysqlclient از دستور زیر استفاده کنید:
برای نصب پکیج mysql-connector-python، از دستور زیر استفاده کنید:
pip install mysql–connector–python |
برای نصب پکیج PyMySQL، از دستور زیر استفاده کنید:
همانطور که گفتیم، حالا همهچیز مهیا است. نمونه کد پایتون که در ادامه آوردهایم، چگونگی این اتصال را شرح میدهد. لازم به ذکر است که این کد، در نسخههای ۲.۷ و ۳.x پایتون کار میکند.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ |
#!/usr/bin/python
from __future__ import print_function
hostname = ‘localhost’ username = ‘username’ password = ‘password’ database = ‘dbname’
# Simple routine to run a query on a database and print the results: def doQuery( conn ) : cur = conn.cursor()
cur.execute( “SELECT fname, lname FROM employee” )
for firstname, lastname in cur.fetchall() : print( firstname, lastname )
print( “Using mysqlclient (MySQLdb):” ) import MySQLdb myConnection = MySQLdb.connect( host=hostname, user=username, passwd=password, db=database ) doQuery( myConnection ) myConnection.close()
print( “Using mysql.connector:” ) import mysql.connector myConnection = mysql.connector.connect( host=hostname, user=username, passwd=password, db=database ) doQuery( myConnection ) myConnection.close()
print( “Using pymysql:” ) import pymysql myConnection = pymysql.connect( host=hostname, user=username, passwd=password, db=database ) doQuery( myConnection ) myConnection.close() |
نکته: در کد بالا، باید بهجای username، نام کاربری پایگاه داده mysql را وارد کنید. بهجای password هم از کلمه عبور این نام کاربری استفاده کنید. همچنین باید بهجای dbname نام پایگاه داده یا دیتابیس را بنویسید.
این مثال مجموعهای از کانکشنها را ایجاد میکند که همگی از یک دیتابیس استفاده میکنند؛ اما از طریق ماژولهای مختلف.
از آنجایی که هرسه ماژول از رابط کاربری Portable SQL Database API استفاده میکنند، توانایی دارند که از کد در doQuery() استفاده کنند. بدون نیاز به هیچگونه تغییر.
وقتی یک Connection Object متصل به دیتابیس داشته باشید، میتوانید Cursor Object ایجاد کنید. این آبجکت به شما امکان اجرای excute() میدهد. به زبان ساده، میتوانید با آن دستورات اصلی و ساده پایتون را اجرا کنید. مثلا در مثال بالا، SELECT از این نوع دستورات است.
نکته: همانطور که میبینید، Python’s Portable PostgreSQL Database API امکان تغییر بین ماژولهای مختلف این دیتابیس را بسیار ساده میکند. در مثال بالا، تنها بخشهایی که نیاز به تغییر دارند، Import و Connect هستند.
جمعبندی
این بود آموزش اتصال به دیتابیس MySQL، از طریق زبان برنامهنویسی پایتون. اگر دوست دارید، میتوانید مقاله پایگاه داده چیست را بخوانید تا با کلیت این مفهوم بهتر آشنا شوید.
در نهایت خواهشمندیم اگر سوال یا ابهامی در این زمینه برایتان باقی مانده است، در قسمت کامنتها بنویسید تا متخصصان ما پاسختان را بدهند.
[ad_2]