DCSIMG
טיפ: יצירת טבלת כל הערים בישראל בSQL - המרת רשימה רגילה לטבלת SQL - אלעד כץ | Elad Katz
Sign in | Join | Help

אלעד כץ | Elad Katz

לגו של גדולים

טיפ: יצירת טבלת כל הערים בישראל בSQL - המרת רשימה רגילה לטבלת SQL

פורסם בתאריך Nov 22 2011, 12:50 PM על ידי eladkatz | ישנם 3 תגובות

טיפ SQL–איך לקחת רשימה מאתר ולהפוך אותה לטבלה בדרך המהירה ביותר

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

הבעיה היא שמרשימה כזו:

image

לא תמיד ברור איך יוצרים טבלת SQL.

טריק קטן שאני משתמש בו תמיד הוא לקחת את הרשימה, ולהעתיק אותה לתוך אקסל: (Copy + Paste פשוט)

image

 

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

INSERT INTO Cities (Name) Values ('תל אביב');

בתא B1 נכתוב נוסחא פשוטה שתשתמש בערך שנמצא ב A1 :

=CONCATENATE("INSERT INTO Cities (Name) Values ('", A1, "');")

הפונקציה Concatenate מקבלת כמה מחרוזות ומחזירה את החיבור של כולן:

image

היופי הוא שעכשיו אפשר לקחת את הנוסחא שבתא B1, ולהעתיק אותה על כל טור B. אקסל מספיק חכם להחליף את A1 לתא בטור A בשורה הרלוונטית:

image

עכשיו נוכל לסמן את כל טור B ולהעתיק אותו – אקסל מספיק חכם להעתיק את הטקסט שנוצר ולא את הנוסחא לתוך הקליפבורד, ונעתיק אותו לתוך חלון שאילתא של SQL:

image

הבעיה היא שלחלק מהישובים יש מקף בשם, לדוגמא בית ג’ן, מה שהורס לנו את הSQL:

image

בשביל לרשום מקף בSQL נוכל לבצע Escaping לתו. בSQL עושים זאת פשוט על ידי שני מקפים. נבחר את טור A ונחליף מקף בשני מקפים:

image

ונעתיק את טור A בחזרה לSQL.

עכשיו נוכל להריץ, וכך במכה אחת מכניסים את כל הערים לטבלה.

את קובץ הערים אפשר להוריד מכאן

רשימת תגובות

# re: טיפ: יצירת טבלת כל הערים בישראל בSQL - המרת רשימה רגילה לטבלת SQL

פורסם בתאריך Wednesday, November 23, 2011 9:34 AM על ידי אהרון  

למה לא פשוט לייבא מאקסל למאגר נתונים (למשל sql server). אפשר להשתמש בייבוא של המאגר נתונים  , רובם יודעים להתמודד עם קבצי אקסל ( או לחילופין CSV)

# re: טיפ: יצירת טבלת כל הערים בישראל בSQL - המרת רשימה רגילה לטבלת SQL

פורסם בתאריך Friday, November 25, 2011 5:22 PM על ידי eladkatz  

הי אהרון,

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

# re: טיפ: יצירת טבלת כל הערים בישראל בSQL - המרת רשימה רגילה לטבלת SQL

פורסם בתאריך Tuesday, December 06, 2011 8:37 PM על ידי Moshe  

יפה.

אני עושה אותו דבר עם VS או NPP. בונה בעזרת חיפושים והחלפות את ה-SQL הרצוי.

שלח תגובה

(שדה חובה) 
(שדה חובה) 
(אופציונלי)
(שדה חובה) 

Enter the numbers above: