/ / SQL פקודות שאילתה

פקודות שאילתת SQL

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

פקודות

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

סיווג של פקודות שפת SQL

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

  1. פקודות לבניית שאילתות.

  2. פקודות עבור נהלים ופונקציות מובנות.

  3. פקודות הטריגר והמערכת.

  4. שילוב קבוצות לעבודה עם תאריך ומשתני מחרוזת.

  5. פקודות לעבודה עם נתונים ושולחנות.

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

פקודות שאילתה

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

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

שימוש ב- SQL ב- Microsoft Access

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

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

הבה נבחן דוגמה מוחשית:

בחר Pe_SurName

מפירסון

איפה Pe_Name = "מרי";

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

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

שימוש בפקודות SQL ב- Oracle

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

בחר פקודה ב - SQL

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

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

SELECTCONCAT (CONCAT (CONCAT ('עובד', sname)CONCAT (substr (fname, 0, 1), substr (otch, 0, 1))), CONCAT ( 'prinyatnarabotu', acceptdate)) מהעובדים איפה acceptdate> TO_DATE ('01 .01.80 '' dd.mm.yyyy ");

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

שימוש ב- SQL באינטרנט

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

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

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

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

$ link = mysqli_connect ("localhost", "root", "", "tester");

אם (! $ link) למות ("שגיאה");

$ query = "צור משתמשים בטבלה (

התחברות VARCHAR (20),

סיסמה VARCHAR (20)

) ";

אם (mysqli_query ($ link, $ query)) הד "השולחן נוצר.";

elseecho "השולחן לא נוצר:" .mysqli_error ();

mysqli_close ($ link);

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

התחביר משתנה לאינטרנט, אך מבוסס על פקודות MicrosoftSQLServer.

בניית שאילתות עבור Microsoft SQL Server

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

עדכון

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

בחר * מאדם

היכן P_BerthDay> '01 / 01/2016 'ו- P_BerthDay <= '03 / 01/2016'

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

SelectP_Name - שם

P_SurName - שם משפחה

P_Patronimic - פטרונומי

מאדם

היכן P_BerthDay> '01 / 01/2016 'ו- P_BerthDay <= '03 / 01/2016'

הפקודה

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

פקודות SQL בסיסיות לשינוי נתונים

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

  1. הוסף.

  2. עדכון.

  3. מחק.

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

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

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

הפקודה הוספה

גישה פקודות

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

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

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

הכנס לתוך האדם

בחר 'Grigoriev', 'ויטאלי', 'פטרוביץ', '01 / 01/1988 '

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

Insertoperson (P_Name, P_SurName, P_BerthDay)

ערכים ('דוד', 'גוק', '02/11/1986')

פקודה כזו ימלא רק את התאים שצוין, וכל האחרים יהיו null.

פיקוד על שינוי נתונים

רשימה של פקודות sql

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

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

עדכן אדם

קבע P_BerthDay = '02 / 10/1986 'כאשר P_ID = 5

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

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

פקודות לשימוש בהליכים ופונקציות מובנות

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

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

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

CREATEPCEDEDURF הדפס

@DB smalldatetime

@DE smalldatetime

AS

הגדר NOCOUNT ON;

בחר * מאדם

מתוך HumanResources.vEmployeeDepartmentHistory

היכן P_BerthDay> = @DB ו- P_BerthDay <= @DE

ANDEndDATEISNULL;

GO

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

ארגון שלמות הנתונים. מפעילים

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

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

סוגי פקודות SQL שניתן להשתמש בהם בהדק הן בלתי מוגבלות. שקול את הדוגמה.

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

הצעד הראשון הוא לתאר את פקודת השירות ליצירת גורמים:

צור טריגר Person_Insert

לאחר מכן, ציין איזו טבלה:

ONPerson

ציין עבור אילו פעולה עם הנתונים (במקרה שלנו מדובר בפעולת שינוי נתונים).

השלב הבא הוא לציין את הטבלאות והמשתנים:

להכריז @ID int. @Date smalldatetime @ int int. @nDatesmalldatetime

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

סמן את סמן C1 עבור P_ID נבחר, P_BerthDay מתוך Inserted

סמן את הסמן C2 עבור P_ID נבחר, P_BerthDay מ- delete

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

אם @ID = @nID ו- @nDate = "01/01/2016"

להתחיל

sMasseges "המבצע לא יכול להתבצע, התאריך אינו מתאים"

ח

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

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

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

מסקנה

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

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

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

קרא עוד: