- פקודות SQL הן הוראות. הוא משמש לתקשורת עם מסד הנתונים. הוא משמש גם לביצוע משימות, פונקציות ושאילתות נתונים ספציפיים.
- SQL יכול לבצע משימות שונות כמו ליצור טבלה, להוסיף נתונים לטבלאות, לשחרר את הטבלה, לשנות את הטבלה, להגדיר הרשאות למשתמשים.
סוגי פקודות SQL
ישנם חמישה סוגים של פקודות SQL: DDL, DML, DCL, TCL ו-DQL.
1. שפת הגדרת נתונים (DDL)
- DDL משנה את מבנה הטבלה כמו יצירת טבלה, מחיקת טבלה, שינוי טבלה וכו'.
- כל הפקודות של DDL מחויבות אוטומטית, כלומר היא שומרת לצמיתות את כל השינויים במסד הנתונים.
הנה כמה פקודות שמגיעות תחת DDL:
- לִיצוֹר
- לשנות
- יְרִידָה
- חתוך
א. לִיצוֹר הוא משמש ליצירת טבלה חדשה במסד הנתונים.
תחביר:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
דוגמא:
CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);
ב. יְרִידָה: הוא משמש למחיקת המבנה והרשומה המאוחסנים בטבלה.
תחביר
DROP TABLE table_name;
דוגמא
DROP TABLE EMPLOYEE;
ג. לשנות: הוא משמש לשינוי מבנה מסד הנתונים. שינוי זה יכול להיות כדי לשנות את המאפיינים של תכונה קיימת או כנראה להוסיף תכונה חדשה.
תחביר:
מספר שלם למחרוזת
כדי להוסיף עמודה חדשה בטבלה
ALTER TABLE table_name ADD column_name COLUMN-definition;
כדי לשנות עמודה קיימת בטבלה:
ALTER TABLE table_name MODIFY(column_definitions....);
דוגמא
ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20)); ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));
ד. חתוך: הוא משמש כדי למחוק את כל השורות מהטבלה ולפנות את השטח המכיל את הטבלה.
תחביר:
TRUNCATE TABLE table_name;
דוגמא:
TRUNCATE TABLE EMPLOYEE;
2. שפת מניפולציה של נתונים
- פקודות DML משמשות לשינוי מסד הנתונים. היא אחראית לכל סוגי השינויים במסד הנתונים.
- הפקודה של DML אינה מחויבת אוטומטית, כלומר היא לא יכולה לשמור לצמיתות את כל השינויים במסד הנתונים. ניתן להחזיר אותם לאחור.
להלן כמה פקודות שמגיעות תחת DML:
- לְהַכנִיס
- עדכון
- לִמְחוֹק
א. לְהַכנִיס: הצהרת INSERT היא שאילתת SQL. הוא משמש להכנסת נתונים לשורה של טבלה.
תחביר:
מיון בחירת java
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN);
אוֹ
INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
לדוגמה:
INSERT INTO javatpoint (Author, Subject) VALUES ('Sonoo', 'DBMS');
ב. עדכון: פקודה זו משמשת לעדכון או שינוי הערך של עמודה בטבלה.
תחביר:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
לדוגמה:
UPDATE students SET User_Name = 'Sonoo' WHERE Student_Id = '3'
ג. לִמְחוֹק: הוא משמש להסרת שורה אחת או יותר מטבלה.
תחביר:
DELETE FROM table_name [WHERE condition];
לדוגמה:
DELETE FROM javatpoint WHERE Author='Sonoo';
3. שפת בקרת נתונים
פקודות DCL משמשות להענקת וקבלת סמכות מכל משתמש במסד הנתונים.
הנה כמה פקודות שמגיעות תחת DCL:
- מענק
- לְבַטֵל
א. מענק: הוא משמש למתן הרשאות גישה למשתמש למסד נתונים.
דוגמא
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
ב. לְבַטֵל: הוא משמש כדי לקחת בחזרה הרשאות מהמשתמש.
דוגמא
REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;
4. שפת בקרת עסקאות
ניתן להשתמש בפקודות TCL רק עם פקודות DML כמו INSERT, DELETE ו-UPDATE בלבד.
פעולות אלו מתבצעות באופן אוטומטי במסד הנתונים ולכן לא ניתן להשתמש בהן בזמן יצירת טבלאות או ביטולן.
להלן כמה פקודות שמגיעות תחת TCL:
- לְבַצֵעַ
- גלגל לאחור
- נקודת שמירה
א. לְבַצֵעַ: הפקודה Commit משמשת לשמירת כל העסקאות במסד הנתונים.
תחביר:
COMMIT;
דוגמא:
DELETE FROM CUSTOMERS WHERE AGE = 25; COMMIT;
ב. גלגל לאחור: פקודת Rollback משמשת לביטול עסקאות שטרם נשמרו במסד הנתונים.
תחביר:
מחרוזת json java
ROLLBACK;
דוגמא:
DELETE FROM CUSTOMERS WHERE AGE = 25; ROLLBACK;
ג. נקודת שמירה: הוא משמש לגלגל את העסקה חזרה לנקודה מסוימת מבלי להחזיר את כל העסקה לאחור.
תחביר:
SAVEPOINT SAVEPOINT_NAME;
5. שפת שאילתת נתונים
DQL משמש כדי להביא את הנתונים ממסד הנתונים.
הוא משתמש רק בפקודה אחת:
- בחר
א. בחר: זה זהה לפעולת ההשלכה של אלגברה יחסית. הוא משמש לבחירת התכונה על סמך התנאי המתואר בסעיף WHERE.
תחביר:
SELECT expressions FROM TABLES WHERE conditions;
לדוגמה:
SELECT emp_name FROM employee WHERE age > 20;