MySQL進階之表的增刪改查
阿新 • • 發佈:2022-04-21
修改表名
ALTER TABLE student RENAME TO stu;
TO
可以省略。
ALTER TABLE 舊錶名 RENAME 新表名;
此語句可以修改表的名稱,其實一般我們在終端中使用,有視覺化工具完全沒必要用命令。
修改欄位
ALTER TABLE stu CHANGE email mail VARCHAR(50) NOT NULL ;
-- ALTER TABLE 表名 CHANGE 欄位名 新欄位名 資料型別 [屬性(可不寫)] ;
這樣,我就將stu
表裡面的email
改成了mail
,資料型別為VARCHAR(50)
。
說一下,我這裡
DataGrip
執行後會及時更新,如果你使用其他工具,有可能要手動重新整理才能有反應!!!
增加欄位
ALTER TABLE stu ADD demo VARCHAR(10) NOT NULL ;
-- ALTER TABLE 表名 ADD 要加的欄位名 資料型別 [屬性(可不寫)] ;
刪除欄位
ALTER TABLE stu DROP demo;
-- ALTER TABLE 表名 DROP 欄位名;
新增主鍵約束
-- ALTER TABLE 表名 ADD CONSTRAINT 自定義主鍵名 PRIMARY KEY 表名(欄位);
ALTER TABLE stu ADD CONSTRAINT PK_STU PRIMARY KEY stu(studentNo);
主鍵名稱,它可以隨便取名,但是最好按規範來,
pk+下劃線+表名,如:
PK_STU`。
新增外來鍵約束
-- ALTER TABLE 外來鍵表名 ADD CONSTRAINT 外來鍵名 FOREIGN KEY (外來鍵欄位名) REFERENCES 主鍵表名(主鍵欄位名);
ALTER TABLE result ADD CONSTRAINT FK_RESULT_STU FOREIGN KEY (studentNo) REFERENCES stu(studentNo);
看好我這個表,主鍵在
stu
表裡面,外來鍵表是result
,不要搞反了。外來鍵名規範是FK_表1_表2
。
小知識
我們發現,我們上面的語句常用ALTER TABLE
這個關鍵字。
我們可以常識檢視幫助文件。
如果英語不咋地,就老老實實搜瀏覽器吧。