Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

بايثونطريقة إضافة سطر جديد في الجدول

المثال التالي يعلمك طريقة إضافة سطر ( أي سجل ) في الجدول employee الذي أنشأناه في الأمثلة السابقة.
المعلومات التي سنضيفها كسطر في الجدول، سنقوم بتجهيزها بشكل مرتب في tuple.

لحفظ أي معلومات تم إضافتها، تعديلها أو مسحها من أي جدول في قاعدة البيانات، يجب استدعاء الدالة commit() لحفظ التغيرات.


مثال

Test.py
# mysql.connector هنا قمنا بتضمين كل محتوى الموديول
import mysql.connector
# MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect() هنا قمنا باستدعاء الدالة
db = mysql.connector.connect(
user='root',
passwd='',
host='localhost',
database='company'
)
# يسمح لنا بالتعامل مع قاعدة البيانات cursor لإنشاء كائن cursor() هنا قمنا باستدعاء الدالة
cursor = db.cursor()
# 'employee' وضعنا فيه نص الإستعلام الذي يسمح بإضافة سطر جديد في الجدول sql المتغير
sql = 'INSERT INTO employee(name, phone) values (%s, %s)'
# يمثل القيم التي ستوضع بالترتيب في الجدول tuple عبارة عن val الكائن
val = ('Ahmad', '96101200155')
# sql و تمرير نص الإستعلام المخزن في المتغير execute() هنا قمنا باستدعاء الدالة
# val و من ثم القيم التي سيتم دمجها مع نص الإستعلام و التي قمنا بتخزينها في الكائن
cursor.execute(sql, val)
# لحفظ التغيرات التي تم إجراءها في قاعدة البيانات commit() هنا قمنا باستدعاء الدالة
db.commit()
# هنا قمنا بطباعة عدد الأسطر التي تم إضافتها في الجدول بسبب الإستعلام الذي تم إرساله سابقاً
print(cursor.rowcount, 'record(s) inserted')
# هنا قمنا بإغلاق الإتصال مع قاعدة البيانات
cursor.close()
db.close()
# mysql.connector هنا قمنا بتضمين كل محتوى الموديول import mysql.connector # MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect() هنا قمنا باستدعاء الدالة db = mysql.connector.connect( user='root', passwd='', host='localhost', database='company' ) # يسمح لنا بالتعامل مع قاعدة البيانات cursor لإنشاء كائن cursor() هنا قمنا باستدعاء الدالة cursor = db.cursor() # 'employee' وضعنا فيه نص الإستعلام الذي يسمح بإضافة سطر جديد في الجدول sql المتغير sql = 'INSERT INTO employee(name, phone) values (%s, %s)' # يمثل القيم التي ستوضع بالترتيب في الجدول tuple عبارة عن val الكائن val = ('Ahmad', '96101200155') # sql و تمرير نص الإستعلام المخزن في المتغير execute() هنا قمنا باستدعاء الدالة # val و من ثم القيم التي سيتم دمجها مع نص الإستعلام و التي قمنا بتخزينها في الكائن cursor.execute(sql, val) # لحفظ التغيرات التي تم إجراءها في قاعدة البيانات commit() هنا قمنا باستدعاء الدالة db.commit() # هنا قمنا بطباعة عدد الأسطر التي تم إضافتها في الجدول بسبب الإستعلام الذي تم إرساله سابقاً print(cursor.rowcount, 'record(s) inserted') # هنا قمنا بإغلاق الإتصال مع قاعدة البيانات cursor.close() db.close()

النتيجة: إذا لم يظهر لك أي خطأ بعد تنفيذ الكود فهذا يعني أنه تم إضافة سطر جديد في الجدول employee و سيتم طباعة ما يلي.

1 record(s) inserted

معلومة تقنية

قبل إرسال الإستعلام إلى قاعدة البيانات، قامت الدالة execute() بدمج نص الإستعلام و القيم التي مررناها لها كالتالي.

INSERT INTO employee(name, phone) values ('Ahmad', '9610200155')
INSERT INTO employee(name, phone) values ('Ahmad', '9610200155')