Python מספק מספר מודולים לעבודה עם מסדי נתונים, כולל sqlite3, MySQLdb ו-psycopg2. מודולים אלה מאפשרים אינטראקציה קלה עם מסדי נתונים לאחסון, שליפת ושינוי נתונים ביעילות. אפשר לבנות, לשנות ולנהל מסדי נתונים ביעילות וביעילות עם הבנה בסיסית של שפת Python ותחביר SQL.
שלבים ליצירת מסד נתונים באמצעות Python
שלב 1
התקן משתתף מסד נתונים התואם את מערכת הניהול המסד נתונים שאתה רוצה להשתמש. לדוגמה, אם אתה מתכוון להשתמש ב-SQLite, אפשר להתקין את המודול sqlite3. ל-MySQL, אפשר להתקין את המודול MySQLdb, ול-PostgreSQL, אפשר להתקין את psycopg2. בדרך זו מדריך, נשקול SQLite, MongoDB ו-MySQLdb. להשתמש ב-SQLite בקוד Python שלך, הכנס את המודול sqlite3:
import sqlite3
ברגע שהתקנת את המודול המתאים, אתה צריך ליצור חיבור למסד הנתונים, שמשמש כגשר בין הקוד ה-Python למסד הנתונים, מה שמאפשר לך לשלוח פקודות ולקבל תוצאות. לדוגמה, ב-SQLite, אפשר ליצור חיבור באמצעות הקוד הבא.
לדוגמה למסד נתונים בשם school.db, אתה מתחבר כפי שמוצג בקוד להלן:
conn = sqlite3.connect('school.db')
שלב 2
בונה טבלאות במסד הנתונים. כדי ליצור טבלאות במסד נתונים, תצטרך לכתוב ביטויים SQL באמצעות אובייקט ה-cursor שהתקבל מהחיבור. לדוגמה, כדי ליצור טבלה בשם "employees" עם עמודות "id", "username", שכר, מחלקה ו"אימייל", אתה משתמש בקוד הבא:
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":
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", אפשר להשתמש בקוד הבא:
cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:
print(row)
שלב 5
יצירת תצוגות על ידי ביצוע הצהרת CREATE VIEW, ושימוש בשיטה `execute()` של אובייקט ה-cursor כדי לבצע הצהרת CREATE VIEW.
# ביצוע הצהרת CREATE VIEW
cursor.execute('''
CREATE VIEW employees_view AS
SELECT name, age, department, email, FROM employees;
''')
שלב 6
סגירת החיבור. ברגע שסיימת לעבוד עם המסד הנתונים, חשוב לסגור את החיבור כדי לשחרר את המשאבים. אפשר לסגור את החיבור באמצעות שיטת ה-close() של אובייקט החיבור. לדוגמה:
conn.commit()
conn.close()
דוגמה עבור MySQLdb
ליצור מסד נתונים ב-MySQLdb, היכנס למודול MYSQLdb והתחבר למסד הנתונים באמצעות השיטה `connect()`. אפשר ליצור סריקה ולהשתמש בה לביצוע פקודות SQL. השיטה `execute ()` משמשת ליצירת טבלה והכנסת נתונים לתוכה. לאחר ביצוע השינויים, אנו משתמשים בסריקה לבחירת נתונים מהטבלה ולהשגת כל הנתונים באמצעות השיטה `fetchall()`. ולבסוף, סגור את הסריקה והחיבור למסד הנתונים.
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()`
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