כיצד להוסיף טבלת 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 '',
  `age` int(2) UNSIGNED DEFAULT 0,
  `gender` enum('female','male','n/a') DEFAULT NULL,
  `phone` varchar(20) DEFAULT '',
  `comment` text DEFAULT '',
  `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=UTF8;

--
-- 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 בגלל שהוא תומך במפתחות זרים ובטרנזאקציות.

DEFAULT CHARSET=UTF8 מה שאומר שניתן להשתמש בסט תווים מורחב הכולל את האותיות העבריות.

 

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

מצד ימין של שם העמודה סוג הנתונים (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 כוכבים

 

 

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

 

= 9 + 2

תמונת המגיב

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

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