סוגי נתונים ב- MYSQL לשימוש במסדי נתונים

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

סוגי נתונים ב- Mysql-2

סוגי נתונים ב- MySQL

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

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

אבל לפני שאני ממשיך להסביר, אתה יודע מה זה MySQL? הוא ידוע כאחד ממנהלי מסד הנתונים הפתוחים עם קוד פתוח הנפוץ ביותר בעולם. כדי שנוכל לקבל מושג עד כמה הוא פופולרי, נספר לכם ש: וורדפרס היא מנהלת סוגי תוכן שונים, הקיימים מאז 2003, וכי בסביבות 55% עד 60% מדפי האינטרנט ש קיימים, נעשים בזכות זה, והוא משתמש ב- MySQL כמסד נתונים, כך שזה מוכיח עד כמה הוא יכול להיות שימושי והיקף שיש לו.

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

ניתן להוריד מנהג זה בקלות ויש לו מספר גרסאות בהתאם ל- Windows בו אתה משתמש, באותו אופן קל מאוד להתקין אותו.

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

אנו מניחים שנוכל להמליץ, למהירות, להוריד את כלי XAMPP, הזמין עבור גירסאות שונות של Windows. XAMPP מגיע עם סדרה של רכיבים, ביניהם יש לנו:

  • Apache: זה יהיה שרת אינטרנט.
  • PHP: שפת פיתוח האינטרנט.
  • פילזילה: הוא אחראי על גיוס התיקים.
  • מרקורי: זהו שרת הדואר, שמטרתו לבצע את הבדיקות.
  • MySQL: כפי שהזכרנו קודם, זהו שרת מסד הנתונים.

לאחר התקנת XAMPP, תוכל ליהנות מכל הרכיבים הללו, כולל MySQL, אותם תוכל להפעיל ישירות ולחבר לממשק הגרפי, לכן XAMPP שימושי ביותר, בנוסף לרכיבים האחרים.

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

אנו מזמינים אתכם לראות קורס אינטנסיבי בנושא סוגי נתונים ב- MySQL וכל מה שאתם צריכים לדעת עליו בסרטון למטה. אל תפספסו את ההזדמנות ללמוד!:

נתונים מספריים

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

מספרים שלמים

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

אנו מציגים את TINYINT, סוג נתונים המאפשר לנו לאחסן ערך מרבי של 127. כך שאם עלינו להגדיר שדה לגיל המשתמשים שלנו, זהו זה שנוכל להשתמש בו, מכיוון שטווח הגילאים הנורמלי נמצא בתוך מספר זה. , ואלא אם אנו חיים בתקופה של הברית הישנה המקראית, אף אחד לא עלה על מספר זה ביולוגית; אז לא, סוג זה של נתונים אינו מאפשר לנו לאחסן 567, למשל, אפילו לא 128, אם המגבלה מגיעה ל -127.

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

נוכל להשתמש במשהו כמו SMALLINT שיאפשר לנו למנות עד 32,000 מאמרים, אך אם נשנה את הדוגמה ונעבור משדה לשדה מזהה שאמור לשמש עבור שולחן לקוחות של חברת טלפונים עם 5 מיליון משתמשים, אנו כבר לא יכולנו לקבל SMALLINT, אלא של אחרים כמו MEDIUMINT, ואנו ממשיכים, במקרה שלחברה שלנו היו 200 מיליון לקוחות, עלינו להשתמש בתחום מסוג INT. הנושא משתנה במקרה של קפריזיות ורצון להגדיר שדה המזהה כל אחד מבני האדם החיים על כדור הארץ, אז עלינו לבקש עזרה משדה BIGNIT, שכן סוג INT מאפשר רק עד אלפיים מיליוני פיסות נתונים שונות, וזה ברור שלא יגיע אלינו.

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

ערכים לא חתומים

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

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

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

מספרים עם עשרוניים

מחירים, משכורות, סכומי חשבון בנק, בין היתר, עברנו לערכים מספריים עם עשרוניים והשארנו מספרים שלמים מאחור, ולמרות העובדה שסוגים אלה נקראים "נקודה צפה" מכיוון שהפסיק מפריד בין החלק השלם שלם והחלק העשרוני, למעשה בין סוגי הנתונים של MySQL, הוא מאחסן אותם ומפריד ביניהם עם נקודה; מכאן היו לנו שלושה סוגי נתונים: FLOAT, DOUBLE ו- DECIMAL.

FLOAT תאפשר לנו לאחסן לפחות את הערך -999.99 ולכל היותר 999.99. בואו ניקח בחשבון שהסימן - לא נחשב, אלא הנקודה שמפרידה ביניהם, כלומר הנקודה העשרונית, כן, לכן הם יהיו בסך הכל שש ספרות, אם כי נציין ששניים מהם עשרוניים; אבל יש לנו משהו שנקרא טווח דיוק פשוט, מה שמאלץ אותנו לקבל כמויות עשרוניות בין 0 ל -24.

מצד שני, DOUBLE, בהיותו כפול מהדיוק, מאפשר להגדיר רק את מספר הנקודות העשרוניות בין 25 ל- 23. שימוש ב- FLOAT, שהוא דיוק פשוט, עלול לגרום לבעיות עיגול ולאובדן שאר הנקודות העשרוניות. זה שנותר להסביר הוא DECIMAL, שהוא הטוב ביותר לאחסון ערכים כספיים שבהם נדרש פחות אורך אך דיוק מרבי, וללא עיגול, סוג נתונים זה מקצה רוחב קבוע למספר שיש לאחסן. המספר הכולל המרבי עבור נתונים מסוג זה הוא 64, מתוכם 30 הוא המספר המרבי של מקומות עשרוניים המותר, יותר ממספיק לאחסון מחירים, שכר ומטבעות.

נקודה עשרונית -1

נתונים אלפאנומריים

לבסוף אנו עוזבים את קטגוריית הנתונים המספריים כדי להזין נתונים חדשים. כאן נדבר על אחסון מחרוזות תווים, כדי להסביר זאת בצורה טובה יותר, ובין סוגי הנתונים ב- MySQL יש לנו את הדברים הבאים: CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT, ENUM ו- SET, לכל אחד מאפיינים משלו ויתרונות משלו בהתאם לאילו נתונים אנו רוצים לאחסן.

נתוני תאריך ושעה

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

תאריך

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

חשוב לדעת שכאשר קוראים שדה DATE, למרות שהוא מופיע עם מקפים המפרידים בין השנה לחודש מהיום, כאשר הכנסת נתונים אלה הוא מאפשר לנו לעשות הכל ברציפות, למשל, אנו יכולים לראות זאת כך זה: 2018-06-04 והכנס אותו כך 20180604. טווח התאריכים ש- DATE מאפשר לנו לטפל בו הוא 1000-01-01 עד 9999-12-31.

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

זמן זה

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

  • YYYY- MM- DD HH: MM: SS

לחלק התאריכים יש טווח דומה לזה של סוג DATE (10,000 שנים), כלומר מ- 1000-01-01 ועד 9999-12-31. החלק בלוח הזמנים יימשך כך: בין השעות 00:00:00 עד 23:53:53. הכל שלם ייראה כך: 1000-01-01 00:00:00 עד 9999-12-31 23:59:59.

זמן

כאן מותר לנו לאחסן שעות, דקות ושניות, וכן, גם סוג הנתונים הקודם עשה זאת, אך עם TIME יש לנו טווח מותר שנע בין: -839: 59: 59 ל- 839: 59: 59; זה ימשך כ -35 ימים הלוך ושוב בתאריך הנוכחי. סוג זה של נתונים אידיאלי לחישוב הזמנים שחלפו בין שני רגעים קרובים.

TIMESTAMP

כאן יש לנו סוג נתונים שיכול להיות דומה מאוד ל- DATETIME אך הפורמט והטווח שלו שונים, אם כי עדיין שימושי לאחסן תאריך ושעה. עם שדה של פורמט זה ניתן להציג בפנינו שלוש אפשרויות, הראשונה היא: YYYY-MM-DD HH: MM: SS, השנייה היא: YYYY-MM-DD, והשלישית פשוטה יותר: YY-MM-DD .

כאן יש לנו את האפשרות של אורך של 14, 8 או 6 ספרות, הכל תלוי במידע שאנו מספקים. פורמט זה אינו היסטורי ואינו עתידני כמו האחרים, שכן הטווח בו שדה זה מטפל עובר רק בין 1970-01-01 לשנת 2037.

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

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

שנה

במקרה שנצטרך לראות את הצורך בהגדרת שדה כ- YEAR, נוכל לאחסן שנה, שניהם באמצעות שתי ספרות, כמו גם ארבע ספרות. במקרה שאנחנו עושים את זה בשתי ספרות, מ -70 עד 99 (עם מ -70 עד 99 נבין שאלו תואמים לטווח השנים מ -1970 עד 1999, ואם יש לנו את הספרות מ -00 עד 69 אז נוכל להבין שמתייחס לשנים 2000 עד 2069), במקרה כזה של מתן ארבע הספרות, נגלה שהטווח האפשרי יתרחב, ואז יגיע מ -1901 עד 2155.

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

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

תאריך-שעה -1

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

אנו מזמינים אתכם ליהנות ממאמר נוסף הקשור לתכנות: פולימורפיזם בתכנות מונחה עצמים.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: בלוג Actualidad
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.