במסמך הזה מפורטות פקודות SQL shell שנתמכות ב-Spanner Omni. Spanner Omni ו-Spanner תומכים באותן פקודות של מעטפת SQL.
| תחביר הפקודה | תיאור |
|---|---|
SHOW DATABASES;
|
הצגת רשימה של מסדי נתונים. |
USE
|
החלפת מסד נתונים. התפקיד שאתם מגדירים משמש לבקרת גישה פרטנית. |
CREATE DATABASE
|
יצירת מסד נתונים. |
DROP DATABASE
|
מחיקה של מסד נתונים. |
SHOW TABLES [
|
הצגת רשימת הטבלאות. אם לא מספקים סכימה, Spanner משתמש בסכימת ברירת המחדל. |
SHOW CREATE TABLE
|
הצגת סכימת הטבלה. |
SHOW COLUMNS FROM
|
הצגת העמודות. |
SHOW INDEX FROM
|
הצגת האינדקסים. |
CREATE TABLE ...;
|
ליצור טבלה. |
ALTER TABLE ...;
|
שינוי סכימת הטבלה. |
DROP TABLE ...;
|
מחיקת הטבלה. |
TRUNCATE TABLE
|
חיתוך הטבלה. למחוק רק שורות. הפקודה הזו לא אטומית כי היא מופעלת כפקודת DML מחולקת. |
CREATE INDEX ...;
|
יצירת אינדקס. |
DROP INDEX ...;
|
מחיקת האינדקס. |
CREATE ROLE ...;
|
יצירת תפקיד. מידע נוסף מופיע במאמר סקירה כללית על IAM ב-Spanner. |
DROP ROLE ...;
|
מחיקת התפקיד. |
GRANT ...;
|
נותנים הרשאה לתפקיד. |
REVOKE ...;
|
ביטול הרשאה מתפקיד. |
SELECT ...;
|
מריצים שאילתה. |
{ INSERT|UPDATE|DELETE } ...;
|
מריצים פקודת DML. |
PARTITIONED { UPDATE|DELETE } ...;
|
הפעלת פקודת DML מחולקת למחיצות. הפקודה הזו לא אטומית. |
EXPLAIN SELECT ...;
|
הצגת תוכנית הרצה של שאילתה. מידע נוסף זמין במאמר בנושא תוכניות להרצת שאילתות. |
EXPLAIN {INSERT|UPDATE|DELETE} ...;
|
הצגת תוכנית הביצוע של DML. |
EXPLAIN ANALYZE SELECT ...;
|
הצגת תוכנית הביצוע של השאילתה עם נתונים סטטיסטיים של הכלי לאופטימיזציה. מידע נוסף זמין במאמר בנושא חבילות נתונים סטטיסטיים של כלי האופטימיזציה. |
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...;
|
הצגת תוכנית הביצוע של DML עם נתונים סטטיסטיים של האופטימיזציה. מידע נוסף זמין במאמר בנושא חבילות נתונים סטטיסטיים של כלי האופטימיזציה. |
DESCRIBE SELECT ...;
|
הצגת הצורה של תוצאת השאילתה. |
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...;
|
הצגת צורת התוצאה של DML. |
ANALYZE;
|
התחלת בנייה של חבילת נתונים סטטיסטיים חדשה של אופטימיזציית שאילתות. |
START BATCH DDL;
|
מתחילים אצווה של DDL. |
RUN BATCH;
|
להריץ פקודות באצווה. |
ABORT BATCH;
|
ביטול פקודות גורפות. |
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG
|
מתחילים טרנזקציה של קריאה וכתיבה. מידע נוסף זמין במאמר פקודות של עסקאות. |
COMMIT;
|
ביצוע של טרנזקציה לקריאה ולכתיבה. |
ROLLBACK;
|
ביטול (undo) של טרנזקציה עם הרשאות קריאה וכתיבה. |
BEGIN RO [{
|
מתחילים טרנזקציה לקריאה בלבד. seconds ו-RFC 3339-formatted_time משמשים לקריאות לא עדכניות. מידע נוסף זמין במאמר פקודות של עסקאות. |
CLOSE;
|
סיום של עסקה לקריאה בלבד. |
EXIT;
|
יוצאים מ-Spanner Omni. |
פקודות BATCH
Spanner Omni מאפשר לבצע פעולות DDL במצב אצווה, שבו כמה הצהרות DDL מקובצות לפעולה אחת, וכך מזרזות את השינויים בסכימה. Spanner Omni תומך בפקודות BATCH הבאות:
START BATCH DDL;
הפקודה הזו מפעילה קבוצת DDL. כל הצהרות ה-DDL הבאות (לדוגמה, CREATE TABLE, ALTER TABLE, DROP INDEX) שמופעלות בסשן הזה נשארות במצב 'בהמתנה' ולא מוחלות על מסד הנתונים באופן מיידי.
RUN BATCH;
אחרי שמריצים את START BATCH DDL ואת הצהרות ה-DDL הבאות, משתמשים בפקודה RUN
BATCH כדי לשלוח את כל פעולות ה-DDL שממתינות כבקשה אחת ל-Spanner. הפקודה הזו מפחיתה את התקורה שקשורה להצהרות DDL נפרדות, וכך מאפשרת לבצע שינויים בסכימה מהר יותר.
ABORT BATCH;
אם תחליטו לא להחיל את שינויי ה-DDL שממתינים לאישור, תשתמשו בפקודה ABORT BATCH. הפקודה הזו מבטלת את כל הצהרות ה-DDL שנאספו מאז שהוצאה הפקודה START BATCH DDL, ומבצעת למעשה ביטול של הפעולות שבוצעו בקבוצה, כך שסכימת מסד הנתונים לא משתנה.
פקודות של עסקאות
Spanner Omni תומך בפקודות SQL הבאות של טרנזקציות:
BEGIN [TRANSACTION] [RO] [seconds|RFC 3339-formatted_time ]
[ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name];
מתחילים עסקה. אפשר להגדיר את האפשרויות הבאות:
- סוג העסקה: התחלת עסקה לקריאה ולכתיבה (לא נדרש פרמטר) או לקריאה בלבד (
RO). - זמן קריאה בעבר: מגדירים את הזמן, בשניות או בפורמט RFC 3339, לקריאת נתונים מחותמת זמן ספציפית.
- רמת בידוד: הגדרת רמת הבידוד לעסקאות קריאה-כתיבה. כברירת מחדל, נעשה שימוש בבידוד שמאפשר סריאליזציה. מידע נוסף זמין במאמר סקירה כללית של רמות הבידוד.
- עדיפות: הגדרת העדיפות של הבקשה לעסקה. העדיפות הבינונית מוגדרת כברירת מחדל.
תג: מגדירים תגי עסקאות באמצעות הפקודה
BEGIN.- בעסקה עם הרשאת קריאה וכתיבה, מוסיפים תג עם
BEGIN TAG tag. הכלי Spanner Omni מוסיף את התג כתג של טרנזקציה. התג משמש גם כתג בקשה בתוך העסקה. - בעסקה לקריאה בלבד, מוסיפים תג עם
BEGIN RO TAG tag. מכיוון שעסקאות לקריאה בלבד לא תומכות בתגי עסקאות, Spanner מוסיף את התג כתג בקשה.
- בעסקה עם הרשאת קריאה וכתיבה, מוסיפים תג עם
COMMIT;
לסיים את העסקה ולבצע את כל השינויים באופן קבוע בעסקה עם הרשאת קריאה וכתיבה.
CLOSE;
סגירה של טרנזקציה לקריאה בלבד.
ROLLBACK;
ביטול (undo) של טרנזקציה עם הרשאות קריאה וכתיבה.