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

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

אקסל מאפשר לכתוב נוסחאות פשוטות, שיאפשרו לנו להרכיב משפט SQL תקני בקלות, ולשכפל אותו.
לדוגמא, אם נרצה להכניס את הערך הראשון לטבלת SQL, השאילתא צריכה להיראות כך:
INSERT INTO Cities (Name) Values ('תל אביב');
בתא B1 נכתוב נוסחא פשוטה שתשתמש בערך שנמצא ב A1 :
=CONCATENATE("INSERT INTO Cities (Name) Values ('", A1, "');")
הפונקציה Concatenate מקבלת כמה מחרוזות ומחזירה את החיבור של כולן:

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

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

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

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

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