Python مع اتصال MySQL: قاعدة البيانات والجدول [أمثلة]

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)

الناتج:

إنشاء قاعدة البيانات في MySQL

هنا تظهر الصورة أعلاه 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 في بايثون:

لنجري عملية الإدراج في جدول قاعدة بيانات 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