昨兒和大家一起看了,如何創建表,及建表過程中的注意事項,今天我們繼續針對表的操作來分享,主要是關於如何針對表進行,添加、修改和刪除欄位等內容,具體我們來一起看下。
前期的準備工作,還是一樣的,進入mysql,進入我們自己創建的資料庫mysql_test,找到需要修改的表,先來看一下目前表的結構:
desc emp;
目前我們是三個欄位,表名稱是emp,現在想修改表名稱為t_emp,具體命令如下:
alter table emp rename t_emp;
顯示成功,來驗證一下,顯示一下所有的表,看名稱是否修改完成:
show tables;
看到上圖中,只有一張t_emp的表,表示修改成功了。
現在我們來追加一個欄位,加一個員工生日birthday,具體命令如下:
alter table t_emp add column birthday date;
顯示添加成功,注意,這裡添加的欄位,是默認在最後面追加的,而且在添加欄位的時候,需要將欄位名稱,及對應的欄位類型,都說明清楚,不然無法添加。我們來看下添加效果:
desc emp;
呀,這裡怎麼會報錯呢?我們看下這段話是啥意思,是說mysql_test資料庫下的emp表不存在?為什麼呢?明明一開始建的時候是有的呀?原來我們之前已經改過表的名稱為t_emp,所以這裡的命令需要更新的:
desc t_emp;
這樣就能看到表的最新結構,可以看到最後一列,就是我們新增的生日這個欄位。那若是我們想在指定列後面增加欄位,應該如何操作呢?
我們需要在姓名後面,增加一個年齡age的欄位,命令如下:
alter table t_emp add age int(2) after ename:
修改成功之後,看一下效果:
desc t_emp;
這樣就看到age這個欄位,就在ename後顯示了。今天和大家有個互動,大家可以思考一下,若是我想在birthday列之前插入一個dept_id int(6),那應該如何操作呢?大家可以想一想,隨意發揮哦~
若是要刪除欄位呢,我先將dept_id的欄位添加進去,然後練習一下刪除這個欄位,先來看一下表,目前是有dept_id這個欄位的:
現在我們刪除一下:
alter table t_emp drop dept_id;
再對比一下,表中已經刪除這個欄位了。
那若是要修改表中的age欄位,長度由int(2),變更為int(3):
alter table t_emp modify age int(3);
修改之後,再做對比,修改已成功。
修改長度用modify,那若是既修改類型,又修改長度呢?將年齡改成t_age,長度為4:
alter table t_emp change age t_age int(4);
再對比一下,很明顯,已經修改成功了。
基本上,針對表的添加、修改、刪除欄位,就這些內容了,各位有什麼問題麼?若是有問題歡迎留言或私信我,我們一起學習,一起成長。
PS:記得上面遺留的一個小問題哦?
若是我想在birthday列之前插入一個dept_id int(6),應該如何操作呢,我們下次再聊。