آموزش اتصال به دیتابیس Mysql از طریق پایتون
MySQL یکی از پایگاه دادههای محوب و پرکاربرد است؛ به همین دلیل ما لازم دانستیم در این مقاله آموزش اتصال به دیتابیس Mysql از طریق پایتون را به طورکامل و کاربردی به شما آموزش دهیم؛ با ما همراه باشید. لازم به ذکر است که این آموزش با استفاده از Connector/Python API انجام میگیرد.
آنچه در این مقاله میخوانید:
- Mysql چیست؟
- زبان پایتون چیست؟
- آموزش اتصال به دیتابیس Mysql از طریق پایتون
انتظارها به پایان رسید، برای اینکه بیشتر با ما آشنا شوید، صفحه سرور مجازی برای اندروید از دست ندهید و برای اینکه بیشتر درباره ما بدانید، همین الان کلیک کنید.
MySQL چیست ؟
پیش از اینکه به سراغ موضوع اصلی مقاله برویم و آموزش اتصال به دیتابیس Mysql از طریق پایتون را پیش بگیریم لازم میدانیم شما را با مفاهمی پایهای و مهم این آموزش آشنا کنیم. در نخستین مرحله نیزا است که شما درک درستی نسبت به معنا و مفهوم Mysql داشته باشید.
بهطورکلی، MySQL یک سیستم مدیریت پایگاه داده یا دیتابیس است که به صورت منبع باز (open source) در اختیار کاربران قرار میگیرد. کاربرد MySQL آنچنان گسترده است که شرکتهای بزرگی مانند فیسبوک و گوگل نیز از آن استفاده میکنند.
به هیچ وجه این فرصت طلایی را از دست ندهید! با کلیک کردن بر روی سرور ابری روزانه، اطلاعات بیشتری دریافت کنید تا بیشتر از ما مطمئن شوید!
زبان پایتون چیست ؟
یکی از دیگر مفاهیمی که برای درک آموزش اتصال به دیتابیس Mysql از طریق پایتون نیاز دارید با آن آشنایی داشته باشید، زبان برنمه نویسی python است. پایتون یک زبان برنامه نویسی برای دسترسی به اهداف عمومی است. منظور از این جمله این است که این زبان برخلاف HTML ، CSS و JavaScript، میتواند علاوه بر توسعه وب برای انواع دیگر برنامهنویسی و توسعه نرمافزار نیز استفاده شود.
مواردی که اغب از پایتون در آنها استفاده میشود، عبارتند از:
- توسعه برنامه وب و تلفن همراه (Back end)
- برنامههای دسکتاپ و توسعه نرمافزار
- پردازش دادههای حجیم و انجام محاسبات ریاضی
- نوشتن اسکریپتهای سیستم (ایجاد دستورالعملهایی که سیستم رایانه را وادار به انجام کاری میکند)
برای درک کامل آموزشی که در این مقاله با شما به اشتراک میگذاریم، نیاز است که شما با مفهوم، کاربردها و مزایای برنامه نویسی پایتون آشنایی داشته باشید؛ به همین دلیل پیشنهاد میکنیم ابتدا مقالهی زبان پایتون چیست را مطالعه کرده و سپس این آموزش را تا انتها بخوانید.
برای مشاهده همه محصولات ما به صفحه سروراختصاصی مراجعه کنید، قیمتها را مقایسه کنید و سپس به سبد خرید خود اضافه کنید.
آموزش اتصال به دیتابیس Mysql از طریق پایتون
در ادامه ما تلاش میکنیم به طور کامل و واضح به شما آموزش دهیم که چگونه میتواند به دیتابیس Mysql از طریق پایتون متصل شد؛ با ما همراه باشید.
به هیچ وجه این فرصت طلایی را از دست ندهید! با کلیک کردن بر روی بهترین vps ایرانی، اطلاعات بیشتری دریافت کنید تا بیشتر از ما مطمئن شوید!
راه اندازی پایگاه داده نمونه:
ابتدا پایگاه داده را از این لینک دانلود کنید. پس از آن، فایل دانلود شده را از حالت فشرده خارج کرده و آن را در پوشهای مشابه با آدرس زیر ذخیره کنید:
python_mysqlC:\mysql\python_mysql.sql
بعد از آن، به سرور خروجی زیر با استفاده از ابزار mysql وارد شوید:
mysql -u root -p
در این مرحله از آموزش اتصال به دیتابیس Mysql از طریق پایتون نیاز است که رمز عبور کاربر root را وارد کنید:
Enter password: ********
سپس، یک پایگاه داده جدید به نام python_mysql ایجاد کنید:
mysql>create database python_mysql;
پس از آن، پایگاه داده python_mysql را انتخاب کنید :
mysql>use python_mysql;
در نهایت از این دستور برای بارگذاری دادهها از فایل استفاده کنید:
mysql> source c:\mysql\python_mysql.sql
برای بررسی دوباره بارگذاری، از دستور SHOW TABLES برای لیست کردن تمام جداول از پایگاه داده استفاده کنید:
mysql> SHOW TABLES;
خروجی باید چیزی شبیه به این باشد:
+------------------------+ | Tables_in_python_mysql | +------------------------+ | authors | | book_author | | books | +------------------------+ 3 rows in set (0.01 sec)
آموزش اتصال به دیتابیس Mysql از طریق پایتون با استفاده از تابع connect( ):
بیایید نگاهی به ماژول پایتون زیر بیندازیم:
( ).connect.py from mysql.connector import Error def connect(): """ Connect to MySQL database """ conn = None try: conn = mysql.connector.connect(host='localhost', database='python_mysql', user='root', password='SecurePass1!') if conn.is_connected(): print('Connected to MySQL database') except Error as e: print(e) finally: if conn is not None and conn.is_connected(): conn.close() if __name__ == '__main__': connect()
بررسی ماژول پایتون
در ادامه میخواهیم این ماژول را به صورت اصولی و کامل بررسی کنیم:
- ابتدا؛ وارد کردن اشیاء از بسته اتصال / پایتون MySQL
mysql.connectorError
- دوم؛ استفاده از تابع برای اتصال به سرور MySQL. تابع چهار پارامتر میزبان، پایگاه داده، کاربر و رمز عبور را میپذیرد. تابع، یک اتصال به پایگاه داده برقرار میکند و یک شی را برمیگرداند.
python_mysql MySQLConnection ()connect()connect()connect
- سوم؛ بررسی کنید که آیا اتصال به پایگاه داده MySQL با استفاده از روش فوق با موفقیت برقرار شده است یا خیر. در صورتیکه یک استثنا اتفاق بیفتد، برای مثال سرور MySQL در دسترس نباشد، پایگاه داده وجود نداشته باشد یا نام کاربری یا رمز عبور نامعتبر باشد، پایتون یک استثنا را بالا خواهد برد. بلوک به استثنا رسیدگی میکند و خطا را نمایش می دهد.
is_connected()try except
- چهارم؛ بستن اتصال پایگاه داده با استفاده از روش شی. (object)
- close()MySQLConnection
آموزش اتصال به دیتابیس Mysql از طریق پایتون ؛ تست ماژول پایتون
برای تست ماژول از دستور زیر استفاده کنید:
connect.py >python connect.py Connected to MySQL database
اگر نام کاربری یا رمز عبور معتبر نباشد خطای زیر را دریافت خواهید کرد:
1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
در صورتی که سرور Mysql در دسترس نباشد، خطای زیر را دریافت خواهید کرد:
2003: Can't connect to MySQL server on 'localhost:3306' (10061 No connection could be made because the target machine actively refused it)
اتصال به پایگاه داده خروجی با استفاده از شی MySQLConnection
ابتدا یک فایل پیکربندی پایگاه داده ایجاد کنید و یک بخش با چهار پارامتر را به این نام تعریف کنید:
config.ini
[mysql] host = localhost database = python_mysql user = root password =SecurePass1!
پس از آن، باید به ایجاد یک ماژول جدید (به نامی که در آخر جمله آمده) اقدام کنید که پیکربندی پایگاه داده را از فایل میخواند و یک شی دیکشنری را برمیگرداند:
python_mysql_dbconfig.pyconfig.ini from configparser import ConfigParser def read_db_config(filename='config.ini', section='mysql'): """ Read database configuration file and return a dictionary object :param filename: name of the configuration file :param section: section of database configuration :return: a dictionary of database parameters """ # create parser and read ini configuration file parser = ConfigParser() parser.read(filename) # get section, default to mysql db = {} if parser.has_section(section): items = parser.items(section) for item in items: db[item[0]] = item[1] else: raise Exception('{0} not found in the {1} file'.format(section, filename)) return db
توجه کنید که ما از بسته ConfigureParser برای خواندن فایل پیکربندی استفاده میکنیم.
بیایید این ماژول را در REPL تست کنیم:
>>> from python_mysql_dbconfig import read_db_config >>> read_db_config() {'host': 'localhost', 'database': 'python_mysql', 'user': 'root', 'password': 'SecurePass1!'}
این نوشتهای که میبینید نشان میدهد که اقداماتی که انجام دادهاید، به درستی کار میکنند.
مرحلهی بعد باید به ایجاد یک ماژول جدید به نام connect2.pyMySQLConnectionpython_mysql اقدام کنید که با استفاده از شی برای اتصال به پایگاه داده مورد استفاده قرار میگیرد.
from mysql.connector import MySQLConnection, Error from python_mysql_dbconfig import read_db_config def connect(): """ Connect to MySQL database """ db_config = read_db_config() conn = None try: print('Connecting to MySQL database...') conn = MySQLConnection(**db_config) if conn.is_connected(): print('Connection established.') else: print('Connection failed.') except Error as error: print(error) finally: if conn is not None and conn.is_connected(): conn.close() print('Connection closed.') if __name__ == '__main__': connect()
بیایید ماژول را با جزئیات بیشتر بررسی کنیم:
- اول؛ واردات اشیاء لازم از جمله ، بسته اتصال / پایتون MySQL و از ماژول.
MySQLConnection Error read_db_config python_mysql_dbconfig
- دوم؛ خواندن پیکربندی پایگاه داده و تصویب آن برای ایجاد یک نمونه جدید از شی در تابع. بقیه کدها مشابه مثال اول کار میکنند.
MySQLConnection connect( )
در اینجا آزمون ماژول connect2 آمده است.
>python connect2.py Connecting to MySQL database... connection established. Connection closed.
در این نوشته ما به دو روش مختلف آموزش اتصال به دیتابیس Mysql از طریق پایتون را برای شما شرح دادیم. امیدواریم که مطالب عنوان شده برای شما جذاب بوده باشد اما اگر نیاز به توضیحات بیشتری داشتید، در قسمت کامنت با ما به اشتراک بگذارید تا در سریعترین زمان ممکن پاسخگوی سوالات شما باشیم. همچنین برای اطلاع از جدیدترین اخبار حوزه تکنولوژی و فناوری ما را در اینستاگرام ابرآراز دنبال کنید.