Python مع اتصال MySQL: قاعدة البيانات والجدول [أمثلة]
من أجل استخدام اتصال MySQL مع Python، يجب أن يكون لديك بعض المعرفة SQL
قبل الغوص في العمق، دعونا نفهم
ما هي MySQL؟
MySQL هي قاعدة بيانات مفتوحة المصدر وواحدة من أفضل أنواع RDBMS (نظام إدارة قواعد البيانات العلائقية). المؤسس المشارك لـ MySQLdb هو Michael Widenius، كما أن اسم MySQL مشتق من ابنة مايكل.
كيفية تثبيت MySQL Connector Python على أنظمة التشغيل Windows وLinux/Unix
تثبيت MySQL في Linux/Unix:
قم بتنزيل حزمة RPM لنظام التشغيل Linux/Unix من الموقع الرسمي: https://www.mysql.com/downloads/
في متابعة الاستخدام النهائيwing أمر
rpm -i <Package_name>
Example rpm -i MySQL-5.0.9.0.i386.rpm
للتحقق في لينكس
mysql --version
تثبيت MySQL في نظام التشغيل Windows
تحميل ملف قاعدة بيانات MySQL من موقع رسمي وتثبيت التثبيت العادي المعتاد للبرنامج في نظام التشغيل Windows. الرجوع إلى هذا البرنامج التعليمي، للحصول على دليل خطوة بخطوة
كيفية تثبيت مكتبة موصل MySQL لبايثون
إليك كيفية ربط MySQL مع Python:
بالنسبة إلى Python 2.7 أو أقل، قم بالتثبيت باستخدام النقطة على النحو التالي:
pip install mysql-connector
بالنسبة إلى Python 3 أو الإصدار الأحدث، قم بالتثبيت باستخدام pip3 على النحو التالي:
pip3 install mysql-connector
اختبر اتصال قاعدة بيانات MySQL مع Python
لاختبار اتصال قاعدة بيانات MySQL في Python هنا، سنستخدم موصل MySQL المثبت مسبقًا ونمرر بيانات الاعتماد إليه الاتصال () تعمل مثل المضيف واسم المستخدم وكلمة المرور كما هو موضح في مثال موصل Python MySQL أدناه.
بناء الجملة للوصول إلى MySQL مع بايثون:
import mysql.connector db_connection = mysql.connector.connect( host="hostname", user="username", passwd="password" )
مثال:
import mysql.connector db_connection = mysql.connector.connect( host="localhost", user="root", passwd="root" ) print(db_connection)
الناتج:
<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>
هنا يظهر الإخراج الاتصال الذي تم إنشاؤه بنجاح.
إنشاء قاعدة بيانات في MySQL باستخدام بايثون
بناء الجملة لإنشاء قاعدة بيانات جديدة في SQL هو
CREATE DATABASE "database_name"
الآن نقوم بإنشاء قاعدة بيانات باستخدام برمجة قواعد البيانات في بايثون
import mysql.connector db_connection = mysql.connector.connect( host= "localhost", user= "root", passwd= "root" ) # creating database_cursor to perform SQL operation db_cursor = db_connection.cursor() # executing cursor with execute method and pass SQL query db_cursor.execute("CREATE DATABASE my_first_db") # get list of all databases db_cursor.execute("SHOW DATABASES") #print all databases for db in db_cursor: print(db)
الناتج:
هنا تظهر الصورة أعلاه my_first_db يتم إنشاء قاعدة البيانات
إنشاء جدول في MySQL باستخدام Python
لنقم بإنشاء جدول بسيط "الطالب" والذي يحتوي على عمودين كما هو موضح في مثال Python لموصل MySQL أدناه.
بناء الجملة سكل:
CREATE TABLE student (id INT, name VARCHAR(255))
على سبيل المثال:
import mysql.connector db_connection = mysql.connector.connect( host="localhost", user="root", passwd="root", database="my_first_db" ) db_cursor = db_connection.cursor() #Here creating database table as student' db_cursor.execute("CREATE TABLE student (id INT, name VARCHAR(255))") #Get database table' db_cursor.execute("SHOW TABLES") for table in db_cursor: print(table)
الناتج:
('student',)
إنشاء جدول بالمفتاح الأساسي
لنقم بإنشاء ملف موظف جدول بثلاثة أعمدة مختلفة. سوف نقوم بإضافة مفتاح أساسي في id عمود مع قيد AUTO_INCREMENT كما هو موضح في مشروع Python أدناه مع اتصال قاعدة البيانات.
بناء الجملة سكل:
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
مثال:
import mysql.connector db_connection = mysql.connector.connect( host="localhost", user="root", passwd="root", database="my_first_db" ) db_cursor = db_connection.cursor() #Here creating database table as employee with primary key db_cursor.execute("CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))") #Get database table db_cursor.execute("SHOW TABLES") for table in db_cursor: print(table)
الناتج:
('employee',) ('student',)
تغيير الجدول في MySQL مع بايثون
يتم استخدام أمر التغيير لتعديل بنية الجدول في SQL. هنا سوف نغير طالب الجدول وإضافة أ المفتاح الأساسي إلى id الحقل كما هو موضح في مشروع موصل Python MySQL أدناه.
بناء الجملة سكل:
ALTER TABLE student MODIFY id INT PRIMARY KEY
مثال:
import mysql.connector db_connection = mysql.connector.connect( host="localhost", user="root", passwd="root", database="my_first_db" ) db_cursor = db_connection.cursor() #Here we modify existing column id db_cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")
الناتج:
هنا أدناه يمكنك رؤية id تم تعديل العمود.
إدراج العملية مع MySQL في بايثون:
لنجري عملية الإدراج في جدول قاعدة بيانات MySQL الذي قمنا بإنشائه بالفعل. سوف نقوم بإدراج البيانات في جدول STUDENT وجدول EMPLOYEE.
بناء الجملة سكل:
INSERT INTO student (id, name) VALUES (01, "John") INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)
مثال:
import mysql.connector db_connection = mysql.connector.connect( host="localhost", user="root", passwd="root", database="my_first_db" ) db_cursor = db_connection.cursor() student_sql_query = "INSERT INTO student(id,name) VALUES(01, 'John')" employee_sql_query = " INSERT INTO employee (id, name, salary) VALUES (01, 'John', 10000)" #Execute cursor and pass query as well as student data db_cursor.execute(student_sql_query) #Execute cursor and pass query of employee and data of employee db_cursor.execute(employee_sql_query) db_connection.commit() print(db_cursor.rowcount, "Record Inserted")
الناتج:
2 Record Inserted