MySQL هي واحدة من أكثر قواعد البيانات العلائقية شيوعًا. يسمح لك بتخزين البيانات في جداول وإنشاء علاقات بين تلك الجداول. لاستخدام MySQL ، الذي يعمل كخادم قاعدة بيانات ، ستحتاج إلى كتابة رمز للاتصال به.
توفر معظم لغات البرمجة مثل Python دعمًا لذلك. في الواقع ، في بايثون ، هناك العديد من الأساليب التي يمكنك اتباعها ، ولكل منها مزاياها الخاصة.
قم بإعداد تكوين MySQL الخاص بك
للاتصال بقاعدة البيانات ، تحتاج إلى القيم التالية:
- المضيف: موقع خادم MySQL ، المضيف المحلي إذا كنت تقوم بتشغيله على نفس الكمبيوتر.
- المستخدم: اسم مستخدم MySQL.
- كلمة المرور: كلمة مرور MySQL.
- اسم قاعدة البيانات: اسم قاعدة البيانات التي تريد الاتصال بها.
قبل الاتصال بقاعدة بيانات MySQL ، أنشئ دليلًا جديدًا:
mkdir python-mysql
قم بإعداد بيئة افتراضية لبيثون
تسمح لك بيئة Python الافتراضية بتثبيت الحزم وتشغيل البرامج النصية في بيئة معزولة. عندما انت خلق بيئة افتراضية، يمكنك بعد ذلك تثبيت إصدارات من تبعيات Python و Python داخلها. بهذه الطريقة ، يمكنك عزل الإصدارات المختلفة وتجنب مشاكل التوافق.
اتصل بـ MySQL باستخدام mysqlclient
ال
mysqlient برنامج التشغيل هو واجهة لخادم قاعدة بيانات MySQL الذي يوفر API لخادم قاعدة بيانات Python. إنه مكتوب بلغة C.قم بتشغيل الأمر التالي في البيئة الافتراضية لتثبيت mysqlclient:
نقطة تثبيت mysqlient
إذا كنت تستخدم جهاز Linux ، فقم بتثبيت رؤوس ومكتبات تطوير Python 3 و MySQL أولاً.
# ديبيان / أوبونتو
sudo apt-get تثبيت python3-dev إفتراضي-libmysqlclient- ديف يبني-ضروري
# ريد هات / CentOS
سودو يم تثبيت python3-devel mysql-devel
على نظام Windows ، يمكنك تثبيت mysqlclient باستخدام ملف عجلة ثنائية. قم بتنزيل ملف mysqlclient المتوافق مع نظامك الأساسي من مجموعة كريستوف جولك غير الرسمية. يمكنك بعد ذلك استخدام ملف العجلة الذي تم تنزيله مع pip لتثبيت mysqlclient على النحو التالي:
نقطةتثبيتج:\\mysqlient‑1.3.13‑cp36‑cp36m‑win_amd64.whl
استخدم رمز الاتصال التالي للاتصال بقاعدة بيانات MySQL بمجرد اكتمال التثبيت:
يستورد MySQLdb
اتصال = MySQLdb.connect (
المضيف ="مضيف محلي",
المستخدم ="<mysql_user>",
passwd ="<mysql_password>",
ديسيبل ="<اسم_قاعدة البيانات>"
)المؤشر = connection.cursor ()
cursor.execute ("تحديدقاعدة البيانات();")
ديسيبل = cursor.fetchone ()
إذا ديسيبل:
مطبعة("أنت'إعادة الاتصال بقاعدة البيانات: "، ديسيبل)
آخر:
مطبعة('غير متصل.')
في هذا البرنامج ، لديك:
- mysqlient المستوردة.
- إنشاء كائن اتصال باستخدام MySQLdb.connect ().
- تمرير تفاصيل تكوين قاعدة البيانات إلى MySQLdb.connect ().
- إنشاء كائن مؤشر للتفاعل مع MySQL.
- استخدم عنصر المؤشر لجلب إصدار قاعدة بيانات MySQL المتصلة.
تذكر تبديل تفاصيل قاعدة البيانات مع تفاصيلك.
الاتصال بـ MySQL باستخدام mysql-connector-python
mysql- موصل- الثعبان هو برنامج تشغيل الاتصال الرسمي المدعوم من Oracle. كما أنه مكتوب بلغة بايثون النقية.
قم بتثبيته عبر نقطة لبدء استخدامه.
نقطة تثبيت mysql- موصل- الثعبان
اتصل بـ MySQL باستخدام كود الاتصال التالي.
يستورد موصل الخلية
من موصل الخلية يستوردخطأاتصال = mysql.connector.connect (مضيف ="مضيف محلي",
المستخدم ="<mysql_user>",
passwd ="<mysql_password>",
ديسيبل ="<اسم_قاعدة البيانات>")
محاولة:
إذاالإتصال.متصل():
المؤشر = connection.cursor ()
cursor.execute ("تحديدقاعدة البيانات();")
ديسيبل = cursor.fetchone ()
مطبعة("أنت'إعادة الاتصال بقاعدة dtabase: "، ديسيبل)
إلا خطأكما هـ:
مطبعة("خطأفي حين الاتصال بـ MySQL "، هـ)
أخيرا:
إذاالإتصال.متصل():
المؤشر.أغلق()
الإتصال.أغلق()
طباعة ("اتصال MySQL هو مغلق")
يقوم كود الاتصال أعلاه بنفس الشيء الذي يقوم به كود الاتصال mysqclient.
بمجرد إنشاء كائن الاتصال ، يمكنك إنشاء مؤشر يمكنك استخدامه بعد ذلك لتنفيذ الاستعلامات في قاعدة البيانات.
يستخدم برنامج الاتصال هذا أيضًا حاول… قبض الكتلة. فئة الخطأ ، من موصل الخلية، يتيح لك التقاط الاستثناءات التي تظهر عند الاتصال بقاعدة البيانات. هذا يجب أن يبسط التصحيح واستكشاف الأخطاء وإصلاحها.
اتصل بـ MySQL باستخدام PyMySQL
ال PyMySQL برنامج تشغيل الاتصال هو بديل لـ MySQLdb. لاستخدامه ، يجب أن تقوم بتشغيل Python 3.7 أو أحدث وأن يكون خادم MySQL هو الإصدار 5. 7 ، أو أحدث. إذا كنت تستخدم MariaDB ، فيجب أن يكون الإصدار 10.2 أو أعلى. يمكنك العثور على هذه المتطلبات على صفحة PyMySQL Github.
لتثبيت PyMySQL ، قم بتشغيل الأمر التالي.
نقطة تثبيت PyMySQL
اتصل بـ MySQL باستخدام PyMySQL باستخدام هذا الرمز.
يستورد pymysql
اتصال = pymysql.connect (مضيف ="مضيف محلي",
المستخدم ="<mysql_user>",
كلمة المرور ="<mysql_password>",
قاعدة البيانات ="<اسم_قاعدة البيانات>")
محاولة:
المؤشر = connection.cursor ()
cursor.execute ("تحديدقاعدة البيانات();")
ديسيبل = cursor.fetchone ()
مطبعة("أنت'إعادة الاتصال بقاعدة البيانات: "، ديسيبل)
إلا pymysql. خطأ كما هـ:
مطبعة("خطأفي حين الاتصال بـ MySQL "، هـ)
أخيرا:
المؤشر.أغلق()
الإتصال.أغلق()
طباعة ("اتصال MySQL هو مغلق")
بمجرد إجراء الاتصال وإنشاء كائن المؤشر ، يمكنك البدء في إنشاء استعلامات SQL.
اتصل بـ MySQL باستخدام aiomysql
ال aiomysql برنامج تشغيل الاتصال يشبه الإصدار غير المتزامن من PyMySQL. يوفر الوصول إلى قاعدة بيانات MySQL من إطار عمل Asyncio.
لاستخدام aiomysql ، تحتاج إلى تثبيت Python 3.7+ و PyMySQL في بيئة التطوير الخاصة بك.
قم بتشغيل الأمر التالي لتثبيت asyncio و aiomysql.
نقطة تثبيت أسينسيو
نقطة تثبيت aiomysql
باستخدام aiomysql ، يمكنك توصيل Python بـ MySQL باستخدام كائن اتصال أساسي وباستخدام تجمع اتصال.
فيما يلي مثال يوضح كيفية الاتصال بقاعدة بيانات MySQL باستخدام كائن اتصال.
يستورد أسينسيو
يستورد aiomysql
حلقة = asyncio.get_event_loop ()غير متزامنdefpython_mysql():
اتصال = انتظر aiomysql.connect (المضيف ="مضيف محلي",
المستخدم ="<mysql_user>",
كلمة المرور ="<mysql_password>",
قاعدة البيانات ="<اسم_قاعدة البيانات>")cur = انتظر connect.cursor ()
في انتظار cur.execute ("تحديدقاعدة البيانات();")
ديسيبل = انتظر cur.fetchone ()
مطبعة("أنت'إعادة الاتصال بقاعدة البيانات: "، ديسيبل)
انتظر cur.close ()
الإتصال.أغلق()
عقدة.run_until_complete(python_mysql())
بخلاف كائن اتصال قاعدة البيانات ، يسمح لك تجمع الاتصال بإعادة استخدام اتصالات قاعدة البيانات. يقوم بذلك عن طريق الحفاظ على مجموعة من الاتصالات المفتوحة وتخصيصها عند الطلب. عندما يطلب العميل اتصالاً ، يتم تخصيص اتصال له من التجمع. بمجرد أن يغلق العميل الاتصال ، يعود الاتصال إلى التجمع.
الكود الأساسي للاتصال من خلال التجمع كما يلي:
يستورد أسينسيو
يستورد aiomysql
حلقة = asyncio.get_event_loop ()
غير متزامنdefpython_mysql():
تجمع = انتظار aiomysql.create_pool (مضيف ="مضيف محلي",
المستخدم ="<mysql_user>",
كلمة المرور ="<mysql_password>",
قاعدة البيانات ="<اسم_قاعدة البيانات>"، loop = loop، autocommit = False)غير متزامنمع pool.acquire () كما الإتصال:
المؤشر = انتظر connect.cursor ()
في انتظار cur.execute ("تحديدقاعدة البيانات();")
ديسيبل = انتظر cur.fetchone ()
مطبعة("أنت'إعادة الاتصال بقاعدة البيانات: "، ديسيبل)حمام سباحة.أغلق()
انتظر حمام السباحة. انتظار مغلق ()
عقدة.run_until_complete(python_mysql())
يجب أن يطبع هذا البرنامج إصدار MySQL الذي اتصلت به عند تشغيله.
إدارة قاعدة بيانات PostgreSQL الخاصة بك
أوضحت لك هذه المقالة عدة طرق يمكنك من خلالها توصيل تطبيق Python بـ MySQL. تسمح لك كل طريقة من هذه الطرق بالتفاعل مع الاستعلامات وتنفيذها في قاعدة البيانات.
بمجرد الاتصال بقاعدة بيانات MySQL ، يمكنك تنفيذ استعلامات البيانات وإجراء معاملات قاعدة البيانات. يمكنك إنشاء تطبيق Python وربطه بـ MySQL والبدء في تخزين البيانات.