תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

כיצד להוסיף טבלת SQL?

מחבר:
בתאריך:

 

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

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

mysql הוספת טבלה

--
-- Table structure for table `workers`
--

CREATE TABLE `workers` (
  `id` int(11) UNSIGNED NOT NULL,
  `name` varchar(255) DEFAULT '' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
  `age` int(2) UNSIGNED DEFAULT 0,
  `gender` enum('female','male','n/a') DEFAULT NULL,
  `phone` varchar(20) DEFAULT '',
  `comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(),
  `active` int(1) UNSIGNED DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Indexes for table `workers`
--
ALTER TABLE `workers`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for table `workers`
--
ALTER TABLE `workers`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

אחרי שהזנו את הנתונים, נלחץ על GO להוספת הטבלה למסד הנתונים.

 

CREATE TABLE

הפקודה ליצירת טבלה היא CREATE TABLE, שם הטבלה (workers), ובין סוגריים נמצאות כל עמודות הטבלה. לדוגמה, id, name, וכיו"ב.

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

utf8mb4 מאפשר להשתמש בסט תווים מורחב הכולל עברית ואמוג'י.

 

סוג הנתונים בכל עמודה

מצד ימין של שם העמודה סוג הנתונים (data type).

ל-id סוג נתונים int(11) שיכול להכיל מספרים שלמים עד סדרי גודל של 10 בחזקת 11. בתנאים שאינם שליליים (UNSIGNED).NOT NULL מתייחס לעובדה שחייבים שיהיה לעמודה ערך.

עמודת age שייכת לסוג int(2) והיא גם UNSIGNED מה שאומר מספרים בין 0-99.

לעמודות name ו-phone השתמשתי ב-varchar, שמתאים למחרוזות טקסט קצרות, עד 255 תווים, כשבסוגריים מופיעים מספר התווים.

סוג הנתונים datetime מאפשר הזנת נתונים בפורמט: YYYY-MM-DD hh:mm:ss. לדוגמה, 2019-09-14 16:30:01.

ברירת המחדל עבור הסוג datetime הוא current_timestamp() מה שיזין את נתוני הזמן העכשוויים.

עמודת updated_at מתעדכנת אוטומטית בזמן העדכון של רשומה בטבלה הודות ל- ON UPDATE current_timestamp().

את העמודה comment הגדרתי כסוג מידע text כדי שהשדה יוכל להיות מוזן בעד 255 תווים (בניגוד ל-VARCHAR אין מגדירים את אורך המחרוזת בסוגריים).

sex יכול לקבל אחת מהאפשרויות: "female", "male", "n/a" הודות לשימוש בסוג השדה enum.

 

PRIMARY KEY - עמודת המספר הסידורי

העמודה id היא עמודת המספר הסידורי של הרשומות (שורות) בטבלה. לכל רשומה חייב להיות מספר סידורי ייחודי שיזהה אותה בטבלה. 

התכונות הבאות מסייעות בהגדרת המספר הסידורי:

NOT NULL– אסור שהשדה יהיה ריק. לפיכך, בכל רשומה (שורה) שנוספת לטבלה חייב השדה id לקבל ערך.

AUTO_INCREMENT- הפקודה גורמת לכל רשומה שמתווספת לטבלה לקבל מספר סידורי בסדר רץ. הרשומה הראשונה תהיה 1, השנייה 2, וכיו"ב.

PRIMARY KEY- מגדיר את עמודת המספר הסידורי של הטבלה. חשוב ביותר להגדיר primary key מפני שבאמצעותו אנחנו מזהים את השורה לצורך שליפת הנתונים ועדכונם. שימו לב! יכולה להיות עמודת primary key אחת בלבד בכל טבלה.

 

במדריך הבא נלמד כיצד למלא את השורות בטבלה.

לכל מדריכי ה- mySQL

 

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

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

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

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

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

איך אומרים בעברית אינטרנט?

 

תמונת המגיב

איתי בתאריך: 07.11.2015

מדריכים מעולים. תודה רבה!