1. 程式人生 > 其它 >MySQL進階之表的增刪改查

MySQL進階之表的增刪改查

我的小站

修改表名

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這個關鍵字。

我們可以常識檢視幫助文件。

如果英語不咋地,就老老實實搜瀏覽器吧。