גיליון רמאות של SQL

תמונת מבוא לרשימה של SQL


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

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

אבל לפני שנגיע לדף הרמאות עצמו, עבור מפתחים שאולי לא מכירים את SQL, נתחיל עם …

מה זה SQL

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

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

בסיס נתונים יחסי בסיסי

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

להלן שאילתת דוגמה:-

בחר * ממשתמשים;

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

דוגמה לטבלת משתמשים

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

בחר שם פרטי, שם משפחה ממשתמשים;

דוגמה לטבלת משתמשים עם עמודות מופחתות

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

בחר * ממוצרים שבהם המלאי <= 10 ORDER BY stock_count ASC;

שאילתה זו תחזיר את כל הנתונים מטבלת המוצרים עם ערך stock_count של פחות מ -10 במערך התוצאות שלה.

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

דוגמא לטבלת מוצרים

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

הכנס למשתמשים (שם פרטי, שם משפחה, כתובת, דוא"ל)
VALUES ('Tester', 'Jester', '123 Fake Street, שפילד, בריטניה', '[email protected]');

ואז, אם היית ממלא מחדש את השאילתה כדי להחזיר את כל הנתונים מטבלת המשתמש, תוצאות התוצאות היו נראות כך:

טבלה לדוגמא עם שורה חדשה

כמובן שהדוגמאות הללו ממחישות רק מבחר קטן מאוד של מה ששפת ה- SQL מסוגלת לה.

SQL לעומת MySQL

יתכן ששמעת על MySQL בעבר. חשוב שלא תבלבלו את זה עם SQL עצמה, מכיוון שיש הבדל ברור.

SQL לעומת MySQLSQL האם ה שפה. זה מתאר תחביר המאפשר לך לכתוב שאילתות המנהלות מסדי נתונים יחסיים. לא יותר.

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

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

  • PostgreSQL
  • SQLite
  • בסיס נתונים של אורקל
  • שרת SQL של ​​מיקרוסופט

התקנת MySQL

חלונות

הדרך המומלצת להתקין את MySQL במערכת Windows היא באמצעות מתקין שתוכל להוריד ממנו אתר MySQL.

התקן את MySQL Windows

MacOS

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

התקן את MySQL Mac

לחלופין, אם אתה מעדיף להשתמש במנהלי חבילות כגון בירה ביתית, אתה יכול להתקין את MySQL כך:

בירה התקן

אם אתה צריך להתקין את גרסת 5.7 הישנה של MySQL, הנמצאת בשימוש נרחב כיום באינטרנט, אתה יכול:

התקין brew [מוגן בדוא"ל]

באמצעות MySQL

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

יש המון אפליקציות לבחירה שעובדות ברובן לבצע את אותה העבודה, ולכן זה תלוי בהעדפה האישית שלך בה אתה משתמש:

  • ספסל העבודה של MySQL מפותח על ידי אורקל, הבעלים של MySQL.
  • HeidiSQL (חלונות מומלצים) היא אפליקציה עם קוד פתוח בחינם עבור Windows. למשתמשי macOS ו- Linux, יין נדרש תחילה כתנאי מוקדם.
  • phpMyAdmin היא אלטרנטיבה פופולרית מאוד הפועלת בדפדפן האינטרנט.
  • המשך פרו (MacOS מומלץ) היא אלטרנטיבה בלבד של macOS והאהובה עלינו בזכות הממשק הברור והקל לשימוש שלה.

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

אתר MySQL מספק מספר מאגרי דמה שתוכל להוריד ללא תשלום ואז לייבא ליישום SQL שלך.

מסד נתונים דמה

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

המשך דוגמה Pro

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

המשך דוגמה Pro

בעוד שמדינה זו מחזירה את כל מדינות אירופה עם אוכלוסייה של למעלה מ 50- מיליון יחד עם עיר הבירה שלהם ואוכלוסייתה.

המשך דוגמה Pro

והאחרונה האחרונה מחזירה את האחוז הממוצע של דוברי צרפתית במדינות בהן המספר הכולל של דוברי הצרפתית גבוה מ- 10%.

המשך דוגמה Pro

שליף

מילות מפתח

אוסף של מילות מפתח המשמשות בהצהרות SQL, תיאור ובדוגמה המתאימה. לחלק ממילות המפתח המתקדמות יותר יש קטע ייעודי משלהן בהמשך גיליון הרמאות.

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

מילות מפתח SQL
מילת מפתחתיאור
הוסףמוסיף עמודה חדשה לטבלה קיימת.

דוגמא: מוסיף טור חדש בשם 'דוא"ל_כתובת' לטבלה בשם 'משתמשים'..

משתמשי לוח להחלפה
הוסף דוא"ל_כתובת varchar (255);
הוסף מבנהזה יוצר אילוץ חדש בטבלה קיימת, המשמשת לציין כללים עבור כל הנתונים בטבלה.

דוגמא: מוסיף אילוץ מפתח ראשוני חדש בשם 'משתמש' על מזהה העמודות ו- SURNAME.

משתמשי לוח להחלפה
הוספת מפתח ראשוני למשתמש של CONSTRAINT (ID, SURNAME);
לוח שינוימוסיף, מוחק או עורך עמודות בטבלה. ניתן להשתמש בו גם כדי להוסיף ולמחוק אילוצים בטבלה, כאמור לעיל.

דוגמא: מוסיף טור בוליאני חדש בשם 'מאושר' לטבלה בשם 'מבצעים'.

עסקאות לוח להחלפה
הוסף בוליאני מאושר;

דוגמא 2: מוחק את העמודה 'מאושרת' מהטבלה 'מבצעים'

עסקאות לוח להחלפה
DROP COLUMN אושר;
שינוי העמודהמשנה את סוג הנתונים של העמודה בטבלה.

דוגמא: בטבלת 'משתמשים', הפוך את העמודה 'incept_ תאריך' לסוג 'זמן תאריך'.

משתמשי לוח להחלפה
ALTER COLUMN incept_ תאריך תאריך;
את כלחוזר נכון אם כל ערכי שאילתת המשנה עומדים בתנאי שהועבר.

דוגמא: מחזירה למשתמשים עם מספר משימות גבוה יותר מהמשתמש עם המספר הגבוה ביותר של משימות במחלקת משאבי אנוש (מספר 2)

בחר שם פרטי, שם משפחה, משימות
ממשתמשים
WHERE משימות לא> הכל (בחר משימות מהמשתמש WHERE department_id = 2);
ומשמש להצטרפות לתנאים נפרדים במסגרת סעיף WHERE.

דוגמא: מחזיר אירועים הממוקמים בלונדון, בריטניה

בחר * מאירועים
איפה host_country = 'בריטניה' ו- host_city = 'לונדון';
כלחוזר נכון אם אחד מערכי שאילתת המשנה עומדים בתנאי הנתון.

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

בחר שם
ממוצרים
איפה productId = ANY (בחר מוצר מההזמנות איפה כמות> 5);
כפי ששינוי שם של טבלה או עמודה עם ערך כינוי שקיים רק למשך השאילתה.

דוגמא: מבטל את העמודה North_east_user_s הרשמות

בחר ב- North_east_user_subscribs AS ne_subs
ממשתמשים
איפה ne_subs> 5;
ASCמשמש עם ORDER BY כדי להחזיר את הנתונים בסדר עולה.

דוגמא: תפוחים, בננות, אפרסקים, צנון

ביןבחירת ערכים בטווח הנתון.

דוגמה 1: בוחר מלאי בכמות שבין 100 ל -150.

בחר * ממלאי
היכן הכמות בין 100 ו -150;

דוגמא 2: בחירת מלאי בכמות לא בין 100 ל -150. לחלופין, השימוש במילת המפתח NOT כאן הופך את ההיגיון ובוחר ערכים מחוץ לטווח הנתון..

בחר * ממלאי
איפה הכמות לא בין 100 ו -150;
מקרהשנה פלט שאילתה בהתאם לתנאים.

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

בחר שם פרטי, שם משפחה, מנויים
מקרה כאשר מנויים> 10 ואז 'פעיל מאוד'
מתי הכמות בין 3 ל -10 ואז 'פעילה'
ELSE 'לא פעיל'
END AS פעילות_גומות
ממשתמשים;
חשבוןמוסיף אילוץ המגביל את הערך שניתן להוסיף לטור.

דוגמה 1 (MySQL): מוודא שמשתמשים שנוספו לטבלת המשתמשים הם 18 ומעלה.

צור משתמשים בטבלה (
שם פרטי ראשון (255),
גיל int,
בדוק (גיל> = 18)
);

דוגמה 2 (MySQL): מוסיף בדיקה לאחר שהטבלה כבר נוצרה.

משתמשי לוח להחלפה
הוסף בדיקה (גיל> = 18);
צור נתוניםיוצר בסיס נתונים חדש.

דוגמא: יוצר בסיס נתונים חדש בשם 'הגדרת אתרים'.

צור הגדרת אתרי אינטרנט;
צור לוחיוצר טבלה חדשה .

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

צור משתמשים בטבלה (
int int,
שם פרטי ראשון (255),
שם משפחה Varchar (255),
varchar כתובת (255),
מספר אנשי קשר
);
תקלותמגדיר ערך ברירת מחדל עבור עמודה;

דוגמה 1 (MySQL): יוצר טבלה חדשה בשם מוצרים עם עמודת שם עם ערך ברירת המחדל של 'שם מציין מקום' ועמודה זמינה_מקום עם ערך ברירת המחדל של התאריך של היום.

CREATE TABLE מוצרים (
int int,
שם varchar (255) תקן 'שם מציין מקום',
זמין_ מתאריך DEFAULT GETDATE ()
);

דוגמה 2 (MySQL): זהה לעיל, אך עריכת טבלה קיימת.

מוצרי ALTER TABLE
שם ALTER הגדר תקלות 'שם מציין מקום',
ALTER זמין_מגדיר קביעת GFADATE ();
מחקמחק נתונים מהטבלה.

דוגמא: מסיר משתמש עם user_id של 674.

מחק ממשתמשים היכן user_id = 674;
DESCמשמש עם ORDER BY כדי להחזיר את הנתונים בסדר יורד.

דוגמא: צנוניות, אפרסקים, בננות, תפוחים

טפטף עמודהמוחק טור מטבלה.

דוגמא: מסיר את העמודה שם פרטי מטבלת המשתמשים.

משתמשי לוח להחלפה
DROP COLUMN שם פרטי
הטפטוף נתוניםמוחק את בסיס הנתונים כולו.

דוגמא: מוחק בסיס נתונים בשם 'הגדרת אתרים'.

הקמת DATABASE הגדרת אתרי אינטרנט;
תקלת שינייםמסיר ערך ברירת מחדל עבור עמודה.

דוגמה (MySQL): מסיר את ערך ברירת המחדל מהעמודה 'שם' בטבלת 'מוצרים'.

מוצרי ALTER TABLE
שנה את העמודה שם העמסת מצב;
טפטף שולחןמוחק טבלה ממסד נתונים.

דוגמא: מסיר את טבלת המשתמשים.

משתמשי DROP TABLE;
קיימיםבודק את קיומה של רשומה כלשהי בשאילתת המשנה, חוזר נכון אם מוחזרת רשומה אחת או יותר.

דוגמא: מציג סוכנויות עם אחוז מימון עסקות הנמוך מ -10.

בחר שם סוכנות
מאת סוכנויות
איפה קיים (בחר Deal_name מעסקאות WHERE dealership_id = deals.dealership_id AND financ_percentage < 10);
ממציין מאיזה טבלה לבחור או למחוק נתונים.

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

SELECT אזור_מנהל
מאת מנהלי אזור
איפה קיים (בחר שם מוצר ממוצרים WHERE area_manager_id = deals.area_manager_id ומחיר < 20);
INמשמש לצד סעיף WHERE כנקודת תצפית עבור תנאי OR מרובים.

אז במקום:-

בחר * ממשתמשים
איפה מדינה = 'ארה"ב' או מדינה = 'בריטניה' או מדינה = 'רוסיה' או מדינה = 'אוסטרליה';

אתה יכול להשתמש:-

בחר * ממשתמשים
היכן המדינה במדינה ('ארה"ב', 'בריטניה', 'רוסיה', 'אוסטרליה');
להכניס לתוךהוסף שורות חדשות לשולחן.

דוגמא: מוסיף רכב חדש.

הכנס למכוניות (סמל, דגם, קילומטראז ', שנה)
VALUES ('אאודי', 'A3', 30000, 2016);
האם אפסבדיקות לערכים ריקים (NULL).

דוגמא: מחזירה משתמשים שלא נתנו מספר אנשי קשר.

בחר * ממשתמשים
היכן איש הקשר הוא מספר;
אינו אפסההיפך של NULL. בדיקות לערכים שאינם ריקים / NULL.
כמוחוזר נכון אם ערך האופראנד תואם לתבנית.

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

בחר * ממשתמשים
איפה שם פרטי כמו '% בן';
לאחוזר נכון אם רשומה לא עומדת בתנאי.

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

בחר * ממשתמשים
איפה שם פרטי לא אוהב '% בן';
אומשמש לצד WHERE כדי לכלול נתונים כאשר כל אחד מהתנאים הוא נכון.

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

בחר * ממשתמשים
איפה עיר = 'שפילד' או 'מנצ'סטר';
מיין לפימשמש למיון נתוני התוצאה עולה (ברירת מחדל) או בסדר יורד באמצעות מילות מפתח ASC או DESC.

דוגמא: מחזירה מדינות בסדר אלפביתי.

בחר * ממדינות
הזמנה לפי שם;
ROWNUMמחזירה תוצאות בהן מספר השורה עומד בתנאי שעבר.

דוגמא: מחזירה את 10 המדינות המובילות מטבלת המדינות.

בחר * ממדינות
היכן הרשום <= 10;
בחרמשמש לבחירת נתונים ממסד נתונים שיוחזרו אז בקבוצת תוצאות.

דוגמה 1: בוחר את כל העמודות מכל המשתמשים.

בחר * ממשתמשים;

דוגמא 2: בוחר את העמודות של שם המשפחה ושם המשפחה מכל המשתמשים

בחר שם פרטי, שם משפחה ממשתמשים;
בחר הבחנהשמות כ- SELECT, למעט ערכים כפולים אינם נכללים.

דוגמא: יוצר טבלת גיבוי באמצעות נתונים מטבלת המשתמשים.

בחר * למשתמשים Backup2020
ממשתמשים;
בחר פנימהמעתיק נתונים מטבלה אחת ומכניס אותם לטבלה אחרת.

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

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

דוגמא: מחזיר את 3 המכוניות המובילות משולחן המכוניות.

בחר למעלה 3 * ממכוניות;
הגדרמשמש לצד UPDATE כדי לעדכן נתונים קיימים בטבלה.

דוגמא: מעדכן את ערכי הערך והכמות עבור הזמנה עם מזהה 642 בטבלת ההזמנות.

הזמנות עדכון
ערך SET = 19.49, כמות = 2
איפה id = 642;
כמהזהה לכל אחד.
חלק עליוןמשמש לצד SELECT כדי להחזיר מספר מוגדר של רשומות מהטבלה.

דוגמא: מחזירה את חמשת המשתמשים המובילים מטבלת המשתמשים.

בחר למעלה 5 * ממשתמשים;
לוח הפעלהבדומה ל- DROP, אך במקום למחוק את הטבלה ואת הנתונים שלה, זה מוחק רק את הנתונים.

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

הפעלת פעילויות שולחן;
האיגודמשלב את התוצאות משתי הצהרות SELECT או יותר ומחזיר רק ערכים ברורים.

דוגמא: מחזירה את הערים מטבלאות האירועים ומנויים.

בחר עיר מאת אירועים
האיגוד
בחר עיר ממנויים;
האיגוד הכלזהה לאיחוד, אך כולל ערכים כפולים.
ייחודיאילוץ זה מבטיח שכל הערכים בעמודה ייחודיים.

דוגמה 1 (MySQL): מוסיף אילוץ ייחודי לטור ה- id בעת יצירת טבלת משתמשים חדשה.

צור משתמשים בטבלה (
מזהה לא NULL,
שם varchar (255) לא אפס,
מזהה ייחודי)
);

דוגמה 2 (MySQL): משנה טור קיים כדי להוסיף אילוץ ייחודי.

משתמשי לוח להחלפה
הוסף ייחודי (מזהה);
עדכוןמעדכן נתונים קיימים בטבלה.

דוגמא: מעדכן את ערכי הקילומטראז 'וה- serviceDue לרכב עם תעודה מזהה 45 בטבלת המכוניות.

עדכוני מכוניות
קילומטראז 'SET = 23500, serviceDue = 0
איפה = 45;
ערכיםמשמש לצד מילת המפתח INSERT INTO כדי להוסיף ערכים חדשים לטבלה.

דוגמא: מוסיף מכונית חדשה לשולחן המכוניות.

הכנס למכוניות (שם, דגם, שנה)
VALUES ('פורד', 'פיאסטה', 2010);
איפהתוצאות המסננים כוללות רק נתונים העומדים בתנאי הנתון.

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

בחר * מתוך הזמנות
איפה כמות> 1;

הערות

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

ב- SQL ישנם שני סוגים של הערות, שורה אחת ורב-קו.

הערות שורה אחת

הערות בשורה אחת מתחילות ב -. התעלמות מכל טקסט אחרי 2 התווים האלה לסוף השורה.

-- השאילתה שלי בחר
בחר * ממשתמשים;

הערות רב שכביות

הערות מרובות-שורות מתחילות ב- / * ומסתיימות ב- * /. הם נמתחים על שורות מרובות עד שנמצאו הדמויות הסגירות.

/ *
זו השאילתה הנבחרת שלי.
זה תופס את כל שורות הנתונים מטבלת המשתמשים
* /
בחר * ממשתמשים;

/ *
זוהי שאילתת בחירה נוספת, שאותה אני לא רוצה לבצע

בחר * ממשימות;
* /

סוגי נתונים של MySQL

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

בדוגמה להלן, הנתונים המועברים לטור ה- ID חייבים להיות אינט, בעוד שבעמודה בשם הראשון יש סוג נתונים VARCHAR עם מקסימום 255 תווים.

צור משתמשים בטבלה (
int int,
שם פרטי ראשון (255)
);

סוגי מחרוזות

סוגי מחרוזות
סוג מידעתיאור
CHAR (גודל)מחרוזת באורך קבוע שיכולה להכיל אותיות, מספרים ותווים מיוחדים. פרמטר הגודל קובע את אורך המחרוזת המרבי, בין 0 - 255 עם ברירת מחדל של 1.
VARCHAR (גודל)מחרוזת באורך משתנה הדומה ל- CHAR (), אך עם אורך המחרוזת המרבי בין 0 ל- 65535.
בינארי (גודל)דומה ל- CHAR () אך מאחסן מחרוזות בתים בינאריים.
VARBINARY (גודל)דומה ל- VARCHAR () אך עבור מיתרי בתים בינאריים.
TINYBLOBמחזיקה חפצים גדולים בינאריים (BLOBs) באורך מקסימאלי של 255 בתים.
TINYTEXTמחזיק מחרוזת באורך מקסימאלי של 255 תווים. השתמש במקום זאת ב- VARCHAR () מכיוון שהוא נמשך הרבה יותר מהר.
גודל טקסט)מחזיק מחרוזת באורך מקסימאלי של 65535 בתים. שוב, עדיף להשתמש ב- VARCHAR ().
BLOB (גודל)מחזיקה חפצים גדולים בינאריים (BLOBs) באורך מקסימאלי של 65535 בתים.
MEDIUMTEXTמחזיק מחרוזת באורך מקסימאלי של 16,777,215 תווים.
מדיום ביובמחזיקה חפצים גדולים בינאריים (BLOBs) באורך מקסימאלי של 16,777,215 בתים.
LONGTEXTמחזיק מחרוזת באורך מקסימאלי של 4,294,967,295 תווים.
LONGBLOBמחזיקה חפצים גדולים בינאריים (BLOBs) באורך מקסימאלי של 4,294,967,295 בתים.
ENUM (א, ב, ג וכו '...)אובייקט מחרוזת שיש לו רק ערך אחד שנבחר מרשימת הערכים שתגדירו, עד למקסימום של 65535 ערכים. אם מוסיפים ערך שלא מופיע ברשימה זו, הוא מוחלף בערך ריק. חשבו על ENUM שדומה לתיבות רדיו HTML בהקשר זה.

צור חולצות טי שולחן (צבע ENUM ('אדום', 'ירוק', 'כחול', 'צהוב', 'סגול'));
הגדר (א, ב, ג וכו '...)אובייקט מחרוזת שיכול להכיל 0 או יותר ערכים, שנבחר מרשימת הערכים שתגדיר, עד 64 ערכים לכל היותר. חשוב על כך ש- SET יהיה דומה לתיבות סימון HTML בהקשר זה.

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

סוגי מחרוזות
סוג מידעתיאור
BIT (גודל)סוג ערך סיביות עם ברירת מחדל של 1. המספר המותר של ביטים בערך מוגדר באמצעות פרמטר הגודל שיכול להכיל ערכים בין 1 ל 64.
TINYINT (גודל)מספר שלם קטן מאוד עם טווח חתום של -128 עד 127 וטווח לא חתום של 0 עד 255. כאן, פרמטר הגודל מציין את רוחב התצוגה המרבי המותר, שהוא 255.
BOOLלמעשה, דרך מהירה להגדיר את העמודה ל- TINYINT בגודל 1. 0 נחשבת כזויה, בעוד 1 נחשב נכון.
BOOLEANכמו BOOL.
SMALLINT (גודל)מספר שלם קטן עם טווח חתום בין -32768 עד 32767, וטווח לא חתום בין 0 ל- 65535. כאן, פרמטר הגודל מציין את רוחב התצוגה המרבי המותר, שהוא 255.
MEDIUMINT (גודל)מספר שלם בינוני עם טווח חתום של -8388608 עד 8388607, וטווח לא חתום בין 0 ל 16777215. כאן, פרמטר הגודל מציין את רוחב התצוגה המרבי המותר, שהוא 255.
INT (גודל)מספר שלם בינוני עם טווח חתום של -2147483648 עד 2147483647, וטווח לא חתום בין 0 ל 4294967295. כאן, פרמטר הגודל מציין את רוחב התצוגה המרבי המותר, שהוא 255.
INTEGER (גודל)זהה ל- INT.
BIGINT (גודל)מספר שלם בינוני עם טווח חתום בין -9223372036854775808 עד 9223372036854775807, וטווח לא חתום בין 0 ל- 18446744073709551615. כאן, פרמטר הגודל מציין את רוחב התצוגה המרבי המותר, שהוא 255.
צף (p)ערך מספר נקודה צפה. אם פרמטר הדיוק (p) הוא בין 0 ל -24, סוג הנתונים מוגדר ל- FLOAT (), ואילו אם הוא בין 25 ל 53, סוג הנתונים מוגדר כ- DUBBLE (). התנהגות זו היא לייעל את אחסון הערכים.
כפול (גודל, ד)ערך מספר נקודה צף שבו כל הספרות נקבעות על ידי פרמטר הגודל, ומספר הספרות לאחר הנקודה העשרונית מוגדר על ידי פרמטר d.
DIMIMAL (גודל, ד)מספר נקודה קבוע מדויק בו המספר הכולל של הספרות נקבע על ידי פרמטרי הגודל, והמספר הכולל של הספרות לאחר הנקודה העשרונית מוגדר על ידי הפרמטר d.

לגבי הגודל, המספר המרבי הוא 65 והברירת המחדל היא 10, ואילו עבור d, המספר המרבי הוא 30 והברירת המחדל היא 10.

DEC (גודל, ד)אותו דבר כמו DECIMAL.

סוגי נתוני תאריך / שעה

סוגי נתוני תאריך / שעה
סוג מידעתיאור
DATEתאריך פשוט בפורמט YYYY-MM – DD, עם טווח נתמך בין '1000-01-01' ל- '9999-12-31'.
DATETIME (fsp)זמן תאריך בפורמט YYYY-MM-DD hh: mm: ss, עם טווח נתמך בין '1000-01-01 00:00:00' ועד '9999-12-31 23:59:59'.

על ידי הוספת DEFAULT ו- ON UPDATE להגדרת העמודה, זה מוגדר אוטומטית לתאריך / שעה הנוכחית.

TIMESTAMP (fsp)חותמת זמן של יוניקס, שהיא ערך ביחס למספר השניות מאז תקופת יוניקס (‘1970-01-01 00:00:00’ UTC). זה טווח נתמך בין '1970-01-01 00:00:01' UTC ל- '2038-01-09 03:14:07' UTC.

על ידי הוספת DEFAULT CURRENT_TIMESTAMP ו- ON UPDATE CURRENT TIMESTAMP להגדרת העמודה, זה מוגדר אוטומטית לתאריך / שעה נוכחית.

TIME (fsp)זמן בפורמט hh: mm: ss, עם טווח נתמך בין '-838: 59: 59' ועד '838: 59: 59'.
שנהשנה, עם טווח נתמך של '1901' עד '2155'.

מפעילים

מפעילי חשבון

מפעילי חשבון
מפעילתיאור
+הוסף
-להחסיר
*להכפיל
/לחלק
%מודולו

מפעיל קצת

מפעילי Bitwise
מפעילתיאור
&קצת ו
|ביטוויזית או
^בלעדי ביטוס OR

מפעילי השוואה

מפעילי השוואה
מפעילתיאור
=שווה ל
>גדול מ
<פחות מ
> =גדול מ או שווה ל
<=פחות מ או שווה ל
<>לא שווה ל

מפעילי מתחם

מפעילי מתחם
מפעילתיאור
+=הוסף שווים
-=חיסור שווה
* =כפל שווה
/ =חלוק שווה
% =מודולו שווה
& =קצת וגם שווה
^ - =בלעדי ביטווי שווה
| * =Bitwise או שווה

פונקציות

פונקציות מיתר

פונקציות מיתר
שםתיאור
ASCIIמחזירה את ערך ה- ASCII המקביל לתו ספציפי.
CHAR_LENGTHמחזירה את אורך התו של מחרוזת.
CHARACTER_LENGTHזהה ל- CHAR_LENGTH.
CONCATמוסיף ביטויים יחד, עם מינימום של 2.
CONCAT_WSמוסיף ביטויים יחד, אך עם מפריד בין כל ערך.
שדהמחזירה ערך אינדקס ביחס למיקום הערך ברשימת ערכים.
מצא בערכהמחזירה את המיקום של מחרוזת ברשימת המיתרים.
פורמטכאשר עברו מספר, מחזיר את המספר המעוצב כך שיכלול פסיקים (למשל 3,400,000).
להכניסמאפשר לך להוסיף מחרוזת אחת למשנהו בנקודה מסוימת, עבור מספר מסוים של תווים.
INSTRמחזירה את המיקום של הפעם הראשונה שמחרוזת אחת מופיעה בתוך אחרת.
LCASEהמר מחרוזת לאותיות קטנות.
שמאלההחל משמאל, חלץ את המספר הנתון של התווים מחרוזת והחזיר אותם כאחר.
אורךמחזירה את אורך המיתר, אך בבתים.
לוקיישןמחזירה את המופע הראשון של מחרוזת אחת בתוך אחרת,
נמוך יותרזהה ל- LCASE.
LPADשמאלי מרפדים מיתר אחד למשנהו, לאורך מסוים.
LTRIMהסר את הרווחים המובילים מהמחרוזת הנתונה.
אמצעמחלץ מחרוזת אחת מהשנייה, החל מכל מיקום.
עמדהמחזירה את המיקום של הפעם הראשונה שמחרטת משנה אחת מופיעה בתוך אחרת.
חזורמאפשר לך לחזור על מחרוזת
החלףמאפשר להחליף כל מופע של מחרוזת בתוך מחרוזת, במחרוזת חדשה.
הפוךהופך את המחרוזת.
ימיןהחל מימין, חלץ את המספר הנתון של התווים מחרוזת והחזיר אותם כאחר.
RPADרפידות ימניות מחרוזת אחת עם השנייה, באורך ספציפי.
RTRIMמסיר רווחים נגררים מהמחרוזת הנתונה.
שטחמחזירה מחרוזת מלאה רווחים השווים לסכום שאתה עובר עליו.
STRCMPמשווה 2 מחרוזות להבדלים
SUBSTRמחלץ מחרוזת אחת לאחרת, מתחילה מכל מיקום.
הפרשהזהה ל- SUBSTR
SUBSTRING_INDEXמחזירה מחרוזת ממחרוזת לפני שנמצא המחרוזת שעברה מספר הפעמים שווה למספר שהועבר.
חתוךמסיר חללים נגררים ומובילים מהמחרוזת הנתונה. אותו דבר כאילו היית מריץ יחד LTRIM ו- RTRIM.
פרחהמר מחרוזת לגדולה.
למעלהזהה ל- UCASE.

פונקציות נומריות

פונקציות נומריות
שםתיאור
שרירי בטןמחזירה את הערך המוחלט של המספר הנתון.
ACOSמחזירה את קוזינוס הקשת של המספר הנתון.
אסיןמחזירה את סינוס הקשת של המספר הנתון.
שיזוףמחזירה את משיק הקשת של מספר אחד או 2 נתון.
ATAN2החזר את משיק הקשת של 2 מספרים נתונים.
ממוצעמחזירה את הערך הממוצע של הביטוי הנתון.
CEILמחזירה את המספר השלם הקרוב (מספר שלם) כלפי מעלה ממספר נקודה עשרוני נתון.
ציפויזהה ל- CEIL.
COSמחזירה את הקוסינוס של מספר נתון.
עריסהמחזירה את הקוטנגנט של מספר נתון.
לספורמחזירה את כמות הרשומות שהוחזרו על ידי שאילתת SELECT.
תאריםממיר ערך רדיאנים למעלות.
DIVמאפשר לך לחלק מספרים שלמים.
EXPמחזירה e לכוח המספר הנתון.
רצפהמחזירה את המספר השלם הקרוב (מספר שלם) כלפי מטה ממספר נקודה עשרוני נתון.
הגדול ביותרמחזירה את הערך הגבוה ביותר ברשימת ארגומנטים.
הכי פחותמחזירה את הערך הקטן ביותר ברשימת ארגומנטים.
LNמחזירה את הלוגריתם הטבעי של המספר הנתון
יומןמחזירה את הלוגריתם הטבעי של המספר הנתון, או את הלוגריתם של המספר הנתון לבסיס הנתון
LOG10עושה את זהה ל- LOG, אבל לבסיס 10.
LOG2עושה את זה כמו LOG, אבל לבסיס 2.
מקסמחזירה את הערך הגבוה ביותר מקבוצת ערכים.
MINמחזירה את הערך הנמוך ביותר מקבוצת ערכים.
MODמחזירה את שארית המספר הנתון חלקי המספר הנתון האחר.
פאימחזירה PI.
שבוייםמחזירה את הערך של המספר הנתון שהועלה לכוחו של המספר הנתון האחר.
כוחזהה לשבויים.
רדיאניםממיר ערך מעלות לרדיאנים.
RANDמחזירה מספר אקראי.
סיבובעגול את המספר הנתון לכמות הנתונה של מקומות עשרוניים.
כניסהמחזירה את הסימן של המספר הנתון.
חטאמחזירה את הסינוס של המספר הנתון.
SQRTמחזירה את השורש הריבועי של המספר הנתון.
SUMמחזירה את הערך של מערך הערכים הנתון בשילוב.
טאןמחזירה את המשיק של המספר הנתון.
הפעלמחזירה מספר קטום למספר הנתון של המקומות העשרוניים.

פונקציות תאריך

פונקציות תאריך
שםתיאור
להוסיףהוסף מרווח תאריך (למשל: 10 DAY) לתאריך (למשל: 20/01/20) והחזיר את התוצאה (למשל: 20/01/30).
הוסף זמןהוסף מרווח זמן (למשל: 02:00) לשעה או למועד תאריך (05:00) והחזיר את התוצאה (07:00).
נקודהקבל את התאריך הנוכחי.
דייט נוכחיזהה ל- CURDATE.
זמן נוכחיקבל את השעה הנוכחית.
CURRENT_TIMESTAMPקבל את התאריך והשעה הנוכחיים.
זמןזהה ל- CURRENT_TIME.
DATEמחלץ את התאריך מביטוי של תאריך תאריך.
דאטייףמחזירה את מספר הימים בין שני התאריכים הנתונים.
DATE_ADDזהה ל- ADDDATE.
פורמט תאריךמעצב את התאריך לתבנית הנתונה.
DATE_SUBגרע מרווח תאריך (למשל: 10 DAY) לתאריך (למשל: 20/01/20) והחזיר את התוצאה (למשל: 20/01/10).
יוםמחזירה את היום לתאריך הנתון.
DAYNAMEמחזירה את שם יום חול לתאריך הנתון.
יום בשבועמחזירה את המדד ליום חול עבור התאריך הנתון.
DAYOFYEARמחזירה את יום השנה לתאריך הנתון.
לחלץחלץ מהמועד בו נקבע החלק (למשל MONTH ל- 20/01/20 = 01).
מיוםהחזר את התאריך מערך התאריך המספרי הנתון.
שעההחזר את השעה מהתאריך הנתון.
יום אחרוןקבל את היום האחרון בחודש עבור התאריך הנתון.
זמן מקומימקבל את התאריך והשעה המקומיים הנוכחיים.
LOCALTIMESTAMPזהה ל- LOCALTIME.
MAKEDATEיוצר תאריך ומחזיר אותו, על סמך ערכי השנה ומספר הימים הנתון.
לפנות זמןיוצר זמן ומחזיר אותו, על סמך הערכים השעתיים, הדקות והשניות הנתונות.
MICROSECONDמחזירה את המיקרו-שנייה של זמן נתון או זמן נתון.
דקהמחזירה את הדקה של השעה או השעה הנתונה.
חודשמחזירה את חודש התאריך הנתון.
MONTHNAMEמחזירה את שם החודש לתאריך הנתון.
עכשיוזהה ל- LOCALTIME.
PERIOD_ADDמוסיף את מספר החודשים הנתון לתקופה הנתונה.
PERIOD_DIFFמחזירה את ההפרש בין 2 תקופות נתונות.
רובעמחזירה את רבעון השנה לתאריך הנתון.
שנימחזירה את השנייה של זמן נתון או זמן נתון מסוים.
SEC_TO_TIMEמחזירה זמן על סמך השניות הנתונות.
STR_TO_DATEיוצר תאריך ומחזיר אותו על פי המחרוזת והפורמט הנתון.
המשנהזהה ל- DATE_SUB.
בשבתגורע מרווח זמן (למשל: 02:00) לשעה או זמן תאריך (05:00) ומחזיר את התוצאה (03:00).
SYSDATEזהה ל- LOCALTIME.
זמןמחזירה את השעה מזמן מסוים או ממועד נתון.
פורמט זמןמחזירה את הזמן הנתון בפורמט הנתון.
TIME_TO_SECממיר ומחזיר זמן לשניות.
טימדיףמחזירה את ההבדל בין 2 ביטויים לזמן / תאריך נתון.
TIMESTAMPמחזירה את ערך השעה התאריך של התאריך או השעה הנתונה.
TO_DAYSמחזירה את המספר הכולל של הימים שעברו מ- '00 -00-0000 'לתאריך הנתון.
שבועמחזירה את מספר השבוע בתאריך הנתון.
שבוע השבועמחזירה את מספר יום חול עבור התאריך הנתון.
שבוע שבועימחזירה את מספר השבוע בתאריך הנתון.
שנהמחזירה את השנה מהמועד הנתון.
YEARWEEKמחזירה את מספר השנה והשבוע עבור התאריך הנתון.

פונקציות שונות

פונקציות שונות
שםתיאור
פחמחזירה את המספר הנתון בבינארי.
בינארימחזירה את הערך הנתון כמחרוזת בינארית.
ללהקהמר סוג אחד לסוג אחר.
פחםמרשימת ערכים, החזר את הערך הראשון שאינו בטל.
CONNECTION_IDלחיבור הנוכחי, החזר את מזהה החיבור הייחודי.
CONVהמר את המספר הנתון ממערכת בסיס מספרית אחת למערכת אחרת.
להמירהמירו את הערך הנתון לטיפוס הנתונים או לערכת התווים הנתונה.
משתמש נוכחיהחזר את המשתמש ואת שם המארח ששימש לאימות עם השרת.
מאגר מידעקבל את שם בסיס הנתונים הנוכחי.
קבוצה לפימשמש לצד פונקציות מצטברות (COUNT, MAX, MIN, SUM, AVG) לקבוצת התוצאות.

דוגמא: מפרט את מספר המשתמשים עם ההזמנות הפעילות.

SELECT COUNT (user_id), פעיל פעיל_פקודות
ממשתמשים
קבוצה לפי פעיל_הזמנות;
ישהוא משמש במקום WHERE עם פונקציות מצטברות.

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

SELECT COUNT (user_id), פעיל פעיל_פקודות
ממשתמשים
קבוצות לפי פעיל פעיל
יש מספר (user_id)> 3;
אםאם התנאי הוא אמת החזיר ערך, אחרת תחזיר ערך אחר.
IFNULLאם הביטוי הנתון שווה לאפס, החזר את הערך הנתון.
ISNULLאם הביטוי בטל, השב 1, אחרת החזר 0.
LAST_INSERT_IDעבור השורה האחרונה שנוספה או עודכנה בטבלה, החזר את מזהה התוספת האוטומטית.
נוליףמשווה את 2 הביטויים הנתונים. אם הם שווים, NULL מוחזר, אחרת הביטוי הראשון מוחזר.
SESSION_USERהחזר את המשתמש ושמות המארחים הנוכחיים.
SYSTEM_USERזהה ל- SESSION_USER.
משתמשזהה ל- SESSION_USER.
גרסאמחזירה את הגרסה הנוכחית של MySQL המפעילה את בסיס הנתונים.

תווים כלליים

ב- SQL, Wildcards הם תווים מיוחדים המשמשים את מילות המפתח LIKE ו- NOT LIKE המאפשרות לנו לחפש נתונים עם תבניות מתוחכמות בצורה יעילה בהרבה.

Wildcards
שםתיאור
%משווה לאפס תווים או יותר.

דוגמה 1: מצא את כל המשתמשים עם שמות משפחה שמסתיימים ב'בן '.

בחר * ממשתמשים
איפה שם המשפחה אוהב '% בן';

דוגמא 2: מצא את כל המשתמשים המתגוררים בערים המכילות את התבנית 'צ'ה'

בחר * ממשתמשים
איפה העיר אוהבת '% che%';
_משתווה לכל דמות יחידה.

דוגמא: מצא את כל המשתמשים המתגוררים בערים המתחילות בכל 3 תווים, ואחריה 'צ'סטר'.

בחר * ממשתמשים
איפה העיר אוהבת '___chester';
[charlist]משווה לכל דמות יחידה ברשימה.

דוגמה 1: מצא את כל המשתמשים עם שמות פרטיים המתחילים ב- J, H או M.

בחר * ממשתמשים
איפה שם פרטי בשם '[jhm]%';

דוגמא 2: מצא את כל המשתמשים עם שמות פרטיים המתחילים אותיות בין A - L.

בחר * ממשתמשים
איפה שם פרטי בשם '[a-l]%';

דוגמא 3: מצא את כל המשתמשים עם שמות פרטיים שלא מסתיימים באותיות בין n - s.

בחר * ממשתמשים
איפה שם פרטי בשם '% [! N-s]';

מפתחות

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

מפתח ראשי

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

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

דוגמה 1 (MySQL)

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

צור משתמשים בטבלה (
מזהה לא AUTO_INCREMENT NULL,
שם פרטי ראשון (255),
שם משפחה אחר (255) לא אפס,
varchar כתובת (255),
דוא"ל varchar (255),
מפתח ראשוני (מזהה)
);

דוגמה 2 (MySQL)

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

משתמשי לוח להחלפה
הוסף מפתח ראשוני (שם פרטי);

מפתח זר

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

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

מפתחות MySQL

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

דוגמה 1 (MySQL)

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

צור הזמנות לטבלה (
מזהה לא NULL,
user_id int,
product_id int,
מפתח ראשוני (מזהה),
מפתח חוץ (user_id) REFERENCES משתמשים (מזהה),
מפתח חו"ל (product_id) מוצרים רפרנסנטים (מזהה)
);

דוגמה 2 (MySQL)

שנה טבלה קיימת וצור מפתח זר.

הזמנת לוח הזמנות
הוסף מפתח מפתח (user_id) רפרנס למשתמשים (מזהה);

אינדקסים

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

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

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

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

צור אינדקס ייחודי idx_test
על משתמשים (שם פרטי, שם משפחה);
אינדקס דריפטמסיר אינדקס.

משתמשי לוח להחלפה
DROP INDEX idx_test;

מצטרף

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

ישנן מספר חיבורים שונים העומדים לרשותך לשימוש:-

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

דרך נפוצה להמחיש כיצד ההצטרפות לעבודה היא כזו:

MySQL מצטרף

בדוגמה הבאה, ישמש חיבור פנימי ליצירת תצוגה מאחדת חדשה המשלבת את טבלת ההזמנות ואז 3 טבלאות שונות

אנו מחליפים את user_id ו- product_id בעמודות השם הפרטי ושם המשפחה של המשתמש שביצע את ההזמנה, יחד עם שם הפריט שנרכש.

טבלת דוגמה של MySQL

בחרו הזמנות.id, users.first_name, users.name, products.name כ'שם מוצר '
מאת הזמנות
INNER JOIN משתמשים באתר orders.user_id = users.id
מוצרים של JOIN JOIN בהזמנות .product_id = products.id;

יחזיר מערך תוצאות שנראה כמו:

טבלת דוגמה של MySQL

נוף

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

יצירת תצוגות

כדי ליצור תצוגה, אתה יכול לעשות זאת כך:

צור צפה בעדיפות
בחר * ממשתמשים
איפה מדינה = 'בריטניה';

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

בחר * מ- [priority_users];

החלפת תצוגות

עם הפקודה CREATE OR REPLACE ניתן לעדכן את התצוגה.

צור או החלף תצוגה [priority_users] AS
בחר * ממשתמשים
איפה מדינה = 'בריטניה' או מדינה = 'ארה"ב';

מוחק תצוגות

כדי למחוק תצוגה, פשוט השתמש בפקודה DROP VIEW.

השתמש ב- DROP VIEW priority_users;

סיכום

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector