שינויים מבניים בטבלה של mySQL

מחבר:
בתאריך:

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

 

הפקודה ALTER TABLE

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

לדוגמה, כדי להקנות ל-primary_key של הטבלה users יכולות של AUTO_INCREMENT:

ALTER TABLE users
MODIFY id int(11) AUTO_INCREMENT;

ועכשיו האינדקס יתחיל לספור מ-1, וכל רשומה שנוסיף תקבל ערך ייחודי הגבוה ב-1 מאינדקס הרשומה הקודמת. הרשומה הראשונה תקבל אינדקס 1, הרשומה השנייה תקבל באופן אוטומטי אינדקס 2, הרשומה השלישית תקבל אוטומטית אינדקס 3. וכיו"ב.

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

ALTER TABLE users
AUTO_INCREMENT = 100;

נבדוק ע"י כך שנכניס רשומה ונראה איזה אינדקס היא תקבל:

INSERT INTO users (id, first_name, birthdate) VALUES (NULL,'Moshe','1993-05-07');

נציץ בטבלה כדי לראות מה קיבלנו:

הודות לשימוש בערך מוגדר עבור האינדקס הספירה התחילה מ-100

 

הוספת עמודה

נוסיף עמודה ששמה approved לטבלה users:

ALTER TABLE users
ADD COLUMN approved tinyint(1) NOT NULL DEFAULT 0;
  • השאילתה גרמה להוספת העמודה "approved" לסוף רשימת העמודות.

כדי להוסיף עמודה לתחילת רשימת העמודות נשתמש בדירקטיבה FIRST:

ALTER TABLE users
ADD COLUMN approved tinyint(1) NOT NULL DEFAULT 0 FIRST;

נשתמש בדירקטיבה AFTER כדי להוסיף עמודה לעמדה מסוימת. לדוגמה, אחרי העמודה first_name:

ALTER TABLE users
ADD COLUMN approved tinyint(1) NOT NULL DEFAULT 0 AFTER first_name;

 

שינוי התכונות של עמודה

סוג הנתונים tinyint יכול לקבל ערכים שליליים. כדי למנוע קבלת ערכים שליליים נשנה את העמודה על ידי כך שנוסיף לה תכונה (attribute) ששמה UNSIGNED:

ALTER TABLE users
MODIFY COLUMN approved tinyint(1) UNSIGNED NOT NULL DEFAULT 0;

 

שינוי שם העמודה

כדי לשנות את שמה של עמודה נוסיף לפקודה ALTER TABLE את הפקודה CHANGE.

נשנה את שם העמודה מ-approved ל-agreed:

ALTER TABLE users
CHANGE approved agreed tinyint(1) UNSIGNED NOT NULL DEFAULT 0;

 

מחיקת עמודה

כדי למחוק עמודה נוסיף לפקודה ALTER TABLE את הפקודה DROP COLUMN.

נמחק את העמודה agreed:

ALTER TABLE users
DROP COLUMN agreed;

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

שינוי שם הטבלה ומחיקה

נשתמש בפקודה RENAME כדי לשנות את שם הטבלה:

RENAME TABLE users TO people;

נשתמש בפקודה DROP TABLE כדי למחוק טבלה:

DROP TABLE people;

לכל מדריכי ה- mySQL

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

הוסף תגובה חדשה

 

= 8 + 9