סוגי נתונים ב-MySQL – חלק ב'

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

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

תאריכים

ניתן לשמור תאריכים באופן קל ופשוט. ישנם מספר סוגי תאריכים שניתן להשתמש בהם:

DATETIME – לתאריכים בפורמט הזה: YYYY-MM-DD HH:MM:SS או YY-MM-DD HH:MM:SS.

DATE – לתאריכים בפורמט הזה: YYYY-MM-DD או YY-MM-DD.

TIMESTAMP לתאריכים בפורמט הזה: YYYYMMDDHHMMSS או YYMMDDHHMMSS

TIME – למגוון תאריכים בפורמט של ימים (0-34), שעות, דקות ושניות במגוון של פורמטים:'HH:MM:SS', 'HH:MM', 'D HH:MM:SS', 'D HH:MM', 'D HH', or 'SS' וגם HHMMSS.

YEAR – בפורמט YYYY או YY (00-99 שנים).

בכל הסוגים ניתן להכניס מיקרושניות כנקודה לאחר ה-SS.

וכך עושים את זה:


CREATE TABLE internet_name (creation_date DATESTAMP);

ENUM

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


CREATE TABLE internet_name (ENUM ('single', 'married', 'divorced', 'widow'));

ניתן להכניס עד 65,535 ערכים ל-ENUM.

SET

סוג של הרחבה חביבה ואף שימושית ל-ENUM. גם SET מקבל ערכים אך בניגוד ל-ENUM שהוא יותר קשיח, SET מאפשר לנו להכניס יותר מערך אחד, כל עוד הוא מופיע ברשימה שהגדרנו. אם נסתכל למשל על הדוגמא שלעיל עם המצב המשפחתי, SET יאפשר לנו להכניס singlemarried ולא רק single או married כמו במקרה של ENUM. שימושי (אולי לא במקרה של מצבים משפחתיים). SET יכול להכיל 64 ערכים.


CREATE TABLE internet_name (SET ('single', 'married', 'divorced', 'widow'));

SERIAL

לא מדובר בסוג נתונים. SERIAL הוא alias לנתון מסוג BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE. משתמשים בו כאשר רוצים ליצור מספר סידורי בטבלה ואז הוא נותן לנו את כל המספרים מ-1 ועד 18446744073709551615. שזה מספיק.

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

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

פוסטים נוספים שכדאי לקרוא

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

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

פתרונות ומאמרים על פיתוח אינטרנט

יישום של nonce על מנת להגן מפני התקפות injection

בפוסט הקודם הסברתי על hash עם CSP על משאבי inline – שזה נחמד ומעולה אבל פחות ישים בעולם האמיתי שבו בדרך כלל התוכן ה-inline (בין

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