شرح MySQL Insert في Python
يعتبر MySQL واحدًا من أشهر أنظمة إدارة قواعد البيانات العلائقية، ويستخدم بشكل واسع في العديد من التطبيقات والمواقع الإلكترونية. تتعامل لغة البرمجة Python مع MySQL بسهولة من خلال مكتبات متخصصة، مما يجعل عملية إدخال البيانات إلى قاعدة البيانات أمرًا بسيطًا وفعالاً. سنستعرض في هذا المقال كيفية استخدام تعليمة INSERT في MySQL من خلال Python مع تقديم أمثلة متعددة لزيادة الفهم.
الاتصال بقاعدة البيانات
قبل أن نبدأ في إدخال البيانات، يجب أولاً أن نقوم بالاتصال بقاعدة البيانات. يمكن تحقيق ذلك باستخدام مكتبة مثل mysql-connector-python. يجب تثبيت المكتبة أولاً عبر الأمر:
pip install mysql-connector-python
بعد التثبيت، نقوم بإنشاء اتصال مع قاعدة البيانات باستخدام الكود التالي:
import mysql.connector
try:
connection = mysql.connector.connect(
host='localhost',
user='yourusername',
password='yourpassword',
database='yourdatabase'
)
print("تم الاتصال بقاعدة البيانات بنجاح")
except mysql.connector.Error as err:
print(f"خطأ: {err}")
في هذا المثال، نقوم باستخدام بيانات الاتصال الأساسية مثل اسم المستخدم وكلمة المرور واسم قاعدة البيانات. من المهم التأكد من صحة هذه البيانات لضمان نجاح عملية الاتصال.
تنفيذ عملية الإدخال
بعد الاتصال بقاعدة البيانات، يمكننا الآن استخدام تعليمة INSERT لإضافة سجلات جديدة. لنفترض أن لدينا جدولًا باسم employees يحتوي على الأعمدة التالية: id وname وsalary. يمكننا إدخال بيانات جديدة باستخدام الكود التالي:
cursor = connection.cursor()
sql = "INSERT INTO employees (id, name, salary) VALUES (%s, %s, %s)"
values = (1, "Ahmed Ali", 5000)
cursor.execute(sql, values)
connection.commit()
print(cursor.rowcount, "تم إدراج السجل بنجاح.")
في هذا المثال، نستخدم المؤشر cursor لتنفيذ تعليمة SQL. نقوم بتمرير القيم كـ tuple إلى تعليمة execute لضمان الأمان ومنع هجمات SQL Injection. بعد تنفيذ التعليمة، نستخدم commit لحفظ التغييرات في قاعدة البيانات.
إدخال بيانات متعددة
في بعض الأحيان، قد تحتاج إلى إدخال أكثر من سجل في وقت واحد. يمكن تحقيق ذلك باستخدام تعليمة executemany كما هو موضح في المثال التالي:
sql = "INSERT INTO employees (id, name, salary) VALUES (%s, %s, %s)"
values = [
(2, "Sara Youssef", 6000),
(3, "Khaled Mohamed", 5500),
(4, "Nora Ahmed", 7000)
]
cursor.executemany(sql, values)
connection.commit()
print(cursor.rowcount, "تم إدراج السجلات بنجاح.")
هنا، نقوم بتعريف قائمة تحتوي على tuples، كل tuple يمثل سجلًا جديدًا نرغب في إدخاله. باستخدام executemany، يمكننا إدخال جميع هذه السجلات دفعة واحدة، مما يحسن الأداء ويقلل من عدد الاتصالات بقاعدة البيانات.
في الختام، يعد استخدام MySQL مع Python لإدخال البيانات عملية مباشرة وسهلة بفضل المكتبات المتاحة. من خلال الفهم السليم لآلية الاتصال وتنفيذ الأوامر، يمكنك بناء تطبيقات قوية وقابلة للتوسع تعتمد على قواعد بيانات MySQL.
