סקירה של יצירת מסדי נתונים באמצעות פייתון

Python מספק מספר מודולים לעבודה עם מסדי נתונים, כולל sqlite3, MySQLdb ו-psycopg2. מודולים אלה מאפשרים אינטראקציה קלה עם מסדי נתונים לאחסון, שליפת ושינוי נתונים ביעילות. אפשר לבנות, לשנות ולנהל מסדי נתונים ביעילות וביעילות עם הבנה בסיסית של שפת Python ותחביר SQL.

שלבים ליצירת מסד נתונים באמצעות Python

שלב 1

התקן משתתף מסד נתונים התואם את מערכת הניהול המסד נתונים שאתה רוצה להשתמש. לדוגמה, אם אתה מתכוון להשתמש ב-SQLite, אפשר להתקין את המודול sqlite3. ל-MySQL, אפשר להתקין את המודול MySQLdb, ול-PostgreSQL, אפשר להתקין את psycopg2. בדרך זו מדריך, נשקול SQLite, MongoDB ו-MySQLdb. להשתמש ב-SQLite בקוד Python שלך, הכנס את המודול sqlite3:

Python

 

import sqlite3

ברגע שהתקנת את המודול המתאים, אתה צריך ליצור חיבור למסד הנתונים, שמשמש כגשר בין הקוד ה-Python למסד הנתונים, מה שמאפשר לך לשלוח פקודות ולקבל תוצאות. לדוגמה, ב-SQLite, אפשר ליצור חיבור באמצעות הקוד הבא. 

לדוגמה למסד נתונים בשם school.db, אתה מתחבר כפי שמוצג בקוד להלן:

Python

 

conn = sqlite3.connect('school.db')

שלב 2

בונה טבלאות במסד הנתונים. כדי ליצור טבלאות במסד נתונים, תצטרך לכתוב ביטויים SQL באמצעות אובייקט ה-cursor שהתקבל מהחיבור. לדוגמה, כדי ליצור טבלה בשם "employees" עם עמודות "id", "username", שכר, מחלקה ו"אימייל", אתה משתמש בקוד הבא:

Python

 

conn = sqlite3.connect('school.db')

cursor = conn.cursor()



cursor.execute('''

CREATE TABLE employees (

  id INTEGER PRIMARY KEY,

  username TEXT,

  email,

  salary REAL,

  department TEXT

)

''')

שלב 3

הכנס, עדכן והשיג מידע מהמסד הנתונים באמצעות פקודות SQL ואובייקט ה-cursor. כדי להוסיף מידע לטבלאות, אפשר להשתמש בפקודת "INSERT INTO" SQL. שמור את המידע באמצעות השיטה `commit()`. לדוגמה, הקוד הבא מכניס מידע לטבלה "employees":

Python

 

conn = sqlite3.connect('school.db')

cursor = conn.cursor()



cursor.execute("INSERT INTO employees (username, email, salary, department) VALUES ('Joseph', 'joseph@gmail,com' 70000, 'IT')")



conn.commit()

שלב 4

שאגודת מידע מהטבלאות. כדי לשאוג מידע מהטבלאות, אפשר להשתמש בפקודת "SELECT" SQL. לדוגמה, כדי לשאוג את כל המשתמשים מהטבלה "users", אפשר להשתמש בקוד הבא:

Python

 

cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:

    print(row)

שלב 5

יצירת תצוגות על ידי ביצוע הצהרת CREATE VIEW, ושימוש בשיטה `execute()` של אובייקט ה-cursor כדי לבצע הצהרת CREATE VIEW.

Python

 

# ביצוע הצהרת CREATE VIEW
cursor.execute('''

CREATE VIEW employees_view AS

SELECT name, age, department, email, FROM employees;

''')

שלב 6 

סגירת החיבור. ברגע שסיימת לעבוד עם המסד הנתונים, חשוב לסגור את החיבור כדי לשחרר את המשאבים. אפשר לסגור את החיבור באמצעות שיטת ה-close() של אובייקט החיבור. לדוגמה:

Python

 

conn.commit()
conn.close()

דוגמה עבור MySQLdb

ליצור מסד נתונים ב-MySQLdb, היכנס למודול MYSQLdb והתחבר למסד הנתונים באמצעות השיטה `connect()`. אפשר ליצור סריקה ולהשתמש בה לביצוע פקודות SQL. השיטה `execute ()` משמשת ליצירת טבלה והכנסת נתונים לתוכה. לאחר ביצוע השינויים, אנו משתמשים בסריקה לבחירת נתונים מהטבלה ולהשגת כל הנתונים באמצעות השיטה `fetchall()`. ולבסוף, סגור את הסריקה והחיבור למסד הנתונים.

Python

 

import MySQLdb

# התחבר למסד הנתונים

conn = MySQLdb.connect(host="localhost", user="std", passwd="@12343!J", db="school.db")
# צור סריקה לביצוע פקודות SQL

cursor = conn.cursor()
# צור טבלה

cursor.execute("""

CREATE TABLE employees (

  id INT AUTO_INCREMENT PRIMARY KEY,

  name VARCHAR(255),

  salary DECIMAL(10,2),

  department VARCHAR(255)

)

""")
# הכנס נתונים לטבלה

cursor.execute("""

INSERT INTO employees (name, salary, department)

VALUES

    ("Joseph", 70000, "IT"),

    ("Jane", 80000, "Marketing")

""")
# בצע את השינויים במסד הנתונים

conn.commit()
# בחר נתונים מהטבלה

cursor.execute("SELECT * FROM employees")



# השא כל הנתונים

employees = cursor.fetchall()
# הדפס את הנתונים

for employee in employees:

    print(employee)
# סגור את הסריקה והחיבור

cursor.close()

conn.close()

דוגמה ל-MongoDB

היכנס למודול pymongo והתחבר למסד הנתונים באמצעות המחלקה `MongoClient()`. לאחר מכן קבל הפניה למסד הנתונים ולאוסף המקביל לטבלה ב-SQL. השיטה `inser_many()` משמשת להכנסת נתונים לאוסף. השיטה `find()` משמשת לשאילתת נתונים מהאוסף, והנתונים מושאים באמצעות לולאת for. ולבסוף, סגור את החיבור למסד הנתונים באמצעות השיטה `close()`

Python

 

from pymongo import MongoClient
# התחבר למסד הנתונים

client = MongoClient("mongodb://localhost:27017/")
# קבל הפניה למסד הנתונים

db = client["school.db"]
# קבל הפניה לאוסף (מקביל לטבלה ב-SQL)

collection = db["employees"]



# הכנס נתונים לאוסף

employee1 = { "name": "Joseph", "salary": 70000, "department": "IT" }

employee2 = { "name": "Jane", "salary": 80000, "department": "Marketing" }

collection.insert_many([employee1, employee2])
# שאל נתונים מהאוסף

employees = collection.find()
# הדפס את הנתונים

for employee in employees:

    print(employee)
# סגור את החיבור
client.close()

מסקנה

לסיכום, Python מספק מודולים מרובים לבзаיה עם מסדי נתונים שונים, כגון MySQL ו-MongoDB. המודול MySQLdb משמש לביצוע פעולות עם מסד נתונים MySQL, והמודול pymongo משמש לביצוע פעולות עם מסד נתונים MongoDB. שני המודולים הללו מקלים על מפתחים לבצע פעולות נתונים נפוצות כגון יצירת טבלאות, הכנסת נתונים, שאילתת נתונים ועוד. עם הפשטות וקלות השימוש ב-Python, הוא הפך לבחירה פופולרית לפיתוח יישומים מונעים על ידי מסדי נתונים. בין אם אתה מתחיל או מפתח בוגר, שימוש במודולים אלו יקל על העבודה עם מסדי נתונים ב-Python.

Source:
https://dzone.com/articles/an-overview-of-creating-databases-with-python-2