Python SQL - םינותנה דסמב שמתשהל דציכ SQLite, MySQL ו-PostgreSQL םע Python


.תובלטצמ תונוש תויגולונכט דציכ דומלל איה חתפמכ ילש תולודגה תואנהה תחא

.ילע םיבוהאהמ םיינש םה Structured Query Language (SQL)-ו Python ,יתשמתשה םהבש

.היצקארטניאב םילעופ SQL לש םינושה םינותנה ידסמו Python דציכ םכתא ףתשל ךלוה ינא

.Python לש דוק תצקב רמאמה תא םייסא ינאו .םימיאתמה שומישה ירקמ תאו םינותנ דסמ ל

.הדנפ לש םינותנ תרגסמב םינותנה תא ןסחאלו PostgreSQL םינותנ דסממ םינותנ ךושמל י

םייסחי םינותנ ידסמ ריכמ ךניא םא (RDBMS), לש רמאמה תא קודבתש עיצמ ינא Samee

SQL לש םיירלופופ םינותנ ידסמ

SQLite

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

.SQLite לש םינותנ דסמ םע תכלל הצרת ,םינותנ ןוסחא חטש ןומה ךירצ אל וא MVP רצוי

.םישמתשמ הבורמ תוילנויצקנופ ןומה ףיסוהל וא תונוכת תישיא םיאתהל לכות אל .תלבגומ

MySQL/PostgreSQL

.המוד הירוגטקל םימיאתמ םה ,רמאמה לש רשקהב בשחתהב ,תאז םע .PostgreSQL-ו MySQL ן

.ךלש החטבאה תא וקזחיו ךורא חווטל תיתשת וקפסי םה .ךלש רתויב בוטה רומיהה םה Post

.ךל ןתיי SQLite לש םינותנ דסמש הממ רוזחא ןמז תוחפ םע הלאה תורהצהה תא בותכל לכו

?SQL לש םינותנ דסמו Python תא רבחל המל

"?SQL לש םינותנ דסמו Python רוביחמ תפכא יל היהיש המל" ,ההות התא ילוא

.טנרטניאה תייצקילפאמ םיעיגמה םינותנה תא ןסחאל לכותש ידכ SQL לש םינותנ דסמ רבחל

.תונוש תונכת תופש ןיב רובעל ךרטצת אל .םינוש םינותנ תורוקמ ןיב רשקתל םג לכות .ו

.CSV ץבוקל קקדזת אל .SQL לש םינותנ דסממ םינותנ לעפתל ידכ ךלש Python ירושיכב שמ

SQL-ו Python לש םינותנ ידסמ םירבחתמ דציכ

.ךלש Python טפירקסל הלא תוירפס אבייל לוכי התא .תישיא תומאתומ Python תוירפס תוע

.רבחתהל הסנמ התא וילאש םינותנה דסמל הרז הפש היהי ךלש Python דוק ,תרחא .ךלש SQL

טקיורפה תא רידגהל דציכ

.PostgreSQL לש םינותנ ידסמ רובע תילסרבינוא Python תיירפס יהוז .psychopg תיירפס

#Library for connecting to AWS Redshift
import psycopg

#Library for reading the config file, which is in JSON
import json

#Data manipulation library
import pandas as pd

!םתוא הארי רחא דחא ףאש םיצור אל ונחנא .ךלש םינותנה דסמ ירושיא תא ןסחאל תחטבואמ

.םינותנ תרגסמ ךותל הריזחמ ךלש SQL-ה תתליאש םינותנה תא ןסחאל ןותייפל רשפאת הייר

.אבה בלשב ךלש םינותנה דסמ ירושיאל תשגל לכותש ךכ JSON-ה ץבוק תא תארוק jso

config_file = open(r"C:\Users\yourname\config.json")
config = json.load(config_file)

:ךלש הרוצתה ץבוקמ םירושיאב שמתשהלו אורקל ךרטצת .םינותנ דסמל רוביח רוציל הצרת ,

con = psycopg2.connect(dbname= "db_name", host=config[hostname], port = config["port"],user=config["user_id"], password=config["password_key"])
cur = con.cursor()

.PostgreSQL (AWS Redshift) םינותנה דסמ םע רבדל ידכ הלעמל תבתכש Python דוק תא ת

.ןיבהל לוכי AWS Redshift-ש הפשב וישכע רבדמ התא ,psycopg תיירפס תא תאבייש ללגב

.תולקב תויגולונכטה תא בלשל לכות .PostgreSQL-ו SQLite, MySQL רובע תוירפס ול שיש

SQL תתליאש בותכל דציכ

ב ךלש םינותנה דסמל יפוריאה לגרודכה ינותנ תא דירוהל ססהת לא-PostgreSQL. וזה

:םינותנ ךושמל ליחתהל ידכ SQL תתליאש בותכל לוכי התא ,םינותנ דסמל רוביח תרציש רח

query = "SELECT *
         FROM League
         JOIN Country ON Country.id = League.country_id;"

:SQL תתליאש תא עצבמש ףסונ Python דוק בותכל ךירצ התא .המייתסה אל ןיידע הדובעה ,

#Runs your SQL query
execute1 = cur.execute(query)
result = cur.fetchall()

:הדנפ לש םינותנ תרגסמב םירזחומה םינותנה תא ןסחאל ךירצ התא זא

#Create initial dataframe from SQL data
raw_initial_df = pd.read_sql_query(query, con)
print(raw_initial_df)

:ךכ ךרעב תיארנש (raw_initial_df) הדנפ לש םינותנ תרגסמ לבקל רומא התא

םלוכל עדימ רגאמ שי

SQLite, MySQL ו-PostgreSQL ךרדה ךשמהב םינש המכ תמועל וישכע ךירצ התא המ לוקשל ם

.םינותנ דסמ גוס לכ םע בלתשהל לוכי Python-ש אוה רוכזל בושחש רבדה

.םיהדמ ךרע ףיסוהל ידכ תובלתשמו תובלטצמ תונכות ןהבש םיכרדה תא תוארל בהוא ינא .S

(: םולש רמול הצור קר התא םא וא הלאש לכל הנפ אנא .היגולונכטב הדובעל עיגהלו דדוק