ייבוא רשימת מספרים למסד נתונים
-
נניח יש לי קובץ TXT פשוט עם חמישים אלף מספרים, ואני רוצה לייבא אותם למסד נתונים.
במסד הזה יש שלש עמודות, id, phone, account. הid הוא דינמי, אבל הaccount צריך להיות לדוגמא A.
ואחרי זה אני צריך לייבא קובץ TXT עם רשימת מספרים אחרת לאותו מסד נתונים, ובaccount יהיה B..
מה שאני תמיד עושה, זה חמישים אלף פעולות INSERT ומכניס את הphone והaccount.
זה לוקח המון זמן, והשאלה אם יש דרך לעשות LOAD או משהו כזה, לייבא את הקובץ עם כל המספרים במכה אחת, אבל שירשום לכולם את הaccount
חשבתי לעשות פטנט, לייבא את המספרים בלי הaccount, ואחרי זה לעשות UPDATE שכל מקום שהaccount ריק זה ירשום A, ואחרי זה שוב על B, אבל זה קצת מסוכן כי אולי יהיו שני פעולות ייבוא בו זמניתאשמח לעיצותיכם
תודה רבה -
אפשר לייבא CSV וכפי שאמרו לעדכן אותו קודם במקום אחרי זה, אבל 50 אלף פעולות INSERT זה לא משהו אסור.
אבל אם אתה יודע איך לייבא CSV, יש שמה בסינטקס אפשרות לקובע ערכים שונים ממה שיש בקובץ.
תעבור פה על המאמר הזה: https://www.mysqltutorial.org/import-csv-file-mysql-table/
בקטע תחת Transforming data while importing = שינו הנתונים במהלך הייבוא
ותראה את הקוד שמה, זה משהו בסגנון:LOAD DATA INFILE '/tmp/clack.csv' INTO TABLE black_list FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS (phone,@account) SET account = 'A';
-
@שואף אמר בייבוא רשימת מספרים למסד נתונים:
@dovid וואו מדהים תודה רבה
אני משער שטעינה של קובץ CSV תהיה הרבה הרבה יותר מהירה מאשר חמישים אלף התחברויות רצופות לשרת המסד נתוניםלא יותר מהיר אלא לא להשוות בכלל וכלל!!
למיטב זכרוני יבוא של 30K עם 12 עמודות לקח לי מספר שניות