אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » לימוד MySQL » יצירת טבלה במסד נתונים מסוג MySQL

יצירת טבלה במסד נתונים מסוג MySQL

רן בר-זיק אוגוסט 23, 2009 6:30 pm אין תגובות

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

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

הטבלאות כשמן כן הן, טבלאות שיש להן כותרת (שם השדה) ונתונים. למשל:

 

name age
Moshe 20
Haim 30
Rahamim 24
Noam 12

 

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

ניכנס ל-MySQL Console ונשתמש ב-internet_database שאותו למדנו ליצור במאמר הקודם. אחרי שכתבנו use internet_database אנו יכולים לבצע פעולות על מסד הנתונים שלנו. בואו וניצור את הטבלה שלעיל (רק בלי הנתונים כמובן).

יצירת הטבלה היא פשוטה מאד:


CREATE TABLE internet_names (name VARCHAR(20), age TINYINT);

השורה הזו מתחלקת לשני חלקים. הראשון הוא CREATE TABLE ושם הטבלה (בדוגמא – internet_names). כך אנו יוצרים את הטבלה. בתוך הסוגריים אנו יוצרים את הכותרות (במקרה שלנו שם וגיל) ומגדירים את סוג הנתונים שיהיו בהן. במקרה שלנו מדובר ב-VARCHAR ו-TINYINT כאשר ב-VARCHARS העברנו גם את מספר האותיות שהשדה צריך להכיל כיוון שסוג VARCHAR מחייב את זה.

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

סוגי הנתונים

ערכים נומריים

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

ניקח לדוגמא את TINYINT שבו השתמשנו בדוגמא. הטווח שלו הוא בין -128 ל-127. אם הייתי יוצר את TINYINT באופן הבא:


CREATE TABLE internet_names (name VARCHAR(20), age TINYINT(UNSIGNED));

הייתי יכול להכניס מספרים לשדה בגודל של מ-0 עד 255. וזה גם היה יותר נכון, כי אין גיל שלילי.

הנה הסוגים השונים של המספרים – עם unsigned ובלעדיו.

סוג ערך תחתון ערך עליון
(Signed/Unsigned) (Signed/Unsigned)
TINYINT -128 127
0 255
SMALLINT -32768 32767
0 65535
MEDIUMINT -8388608 8388607
0 16777215
INT -2147483648 2147483647
0 4294967295
BIGINT -9223372036854775808 9223372036854775807
0 18446744073709551615

אנו יכולים לאכוף הוספת אפסים לכל מספר על מנת שימלא את כל גודל התא. למשל הוספת אפסים ל-TINYINT תגרום ל-1 להפוך ל-001. הוספת אפסים ל-SMALLINT תגרום ל-1 להפוך ל-00005 וכך הלאה. את זה עושים באמצעות תגית ZEROFILL. הוספת תגית ZEROFILL גם מונעת מספרים שליליים בדיוק כמו UNSSIGNED.


CREATE TABLE internet_names (name VARCHAR(20), age TINYINT ZEROFILL);

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

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


CREATE TABLE internet_names (name VARCHAR(20), age DEC(5,2);

כאשר הכוונה היא למספר עם טווח של 5 ועד 2 ספרות אחרי הנקודה – ממינוס 999.99 עד 999.99. הטווח כולל את הספרות שאחרי הנקודה.

ערכי טקסט

VARCHAR ו-CHAR

כאשר אנו רוצים לאכסן מחרוזות קטנות יחסית של טקסט, VARCHAR או CHAR יהיו הבחירה שלנו. מדובר בתוכן טקסטואלי מסוגים שונים כאשר אנו מעבירים לו פרמטר של בין 0 ל-255 ל-CHAR ופרמטר של בין 0 ל-65,535. הפרמטר הזה קובע את אורך השדה. CHAR יהיה תמיד בערך שקבענו לו. אם אנו מכניסים לתא ערך עם פחות תווים, אז CHAR יכניס רווחים כדי שכל התאים יהיו באורך שקבענו.

BLOB ן-TEXT

אם אנו צריכים לאכסן כמות גדולה יותר של טקסט, בשביל זה אנו משתמשים ב-TEXT או ב-BLOB. BLOB אמור לאכסן אובייקטים בינאריים ואילו TEXT, ובכן, מאכסן טקסט.

TINYTEXT בגודל של עד 255 תווים.

TEXT\BLOB – בגודל של עד 65535 תווים.

MEDIUMTEXT\MEDIUMBLOB – בגודל של עד 16777215 תווים.

LONGTEXT\LONGBLOB – בגודל של עד 4294967295 תווים.

⚠️המדריכים כאן הם טעימה בלבד! יש ספר מקיף המלמד MySQL מרמת בסיס ועד רמה מתקדמת. הספר הדיגיטלי, שרלוונטי גם לכל מסדי הנתונים שעובדים עם SQL – זמין כאן כחלק מהפרויקט "ללמוד ג'אווהסקריפט בעברית" – זו הדרך הטובה ביותר ללמוד באופן מקיף MySQL.

במאמר הבא אנו נמשיך ללמוד על סוגי נתונים ב-MySQL.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
למדריך ה-MySQL הקודםיצירת Database חדש עם MySQL
למדריך ה-MySQL הבאסוגי נתונים ב-MySQL – חלק ב'
לתפריט המדריכים ל-MySQL
MySQL
ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד