MySQL修改欄位命令
MySQL修改資料表中的欄位名
在一張資料表中只能設定一個唯一名稱的欄位名。在同一張資料表中,不能出現兩個名稱完全相同的欄位名。
因此,資料庫系統可以通過欄位名來區分資料表中的不同欄位。
在MySQL中,ALTER TABLE語句也可以修改資料表的欄位名。基本語法格式如下:
ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 新資料型別;
其中,“舊欄位名”指修改前的欄位名;“新欄位名”指修改後的欄位名;“新資料型別”表示修改後的資料型別,如果不需要修改,則將新資料型別設定成與原來一樣。
MySQL只修改欄位名
使用ALTER TABLE語句可以直接修改欄位名,而不改變該欄位的資料型別。
例項:將baike369表中的name欄位改名為stu_name欄位,且不改變資料型別。操作步驟如下:
1. 由於不改變該欄位的資料型別,因此需要知道該欄位現在的資料型別。使用DESC語句檢視baike369表的結構。如下圖所示:
從上圖中可以看出,baike369表中存在name欄位,並且資料型別為VARCHAR(30)。
2. 現在,將baike369表中的name欄位改名為stu_name欄位。SQL程式碼如下:
ALTER TABLE baike369 CHANGE name stu_name VARCHAR(30);
在DOS提示符視窗中檢視MySQL修改資料表中的欄位名的操作效果。如下圖所示:
從上圖中可以看出,結果顯示修改已經成功。
3. 使用DESC語句重新檢視baike369表,以檢查name欄位是否已經改名為stu_name。如下圖所示:
從上圖中可以看出,baike369表中已經不存在name欄位,取而代之的是stu_name欄位,而且欄位的資料型別沒有發生改變。
MySQL修改欄位名和欄位資料型別
使用ALTER TABLE語句可以直接修改欄位名和該欄位的資料型別。
例項:將baike369表中的sex欄位改名為stu_sex,並且資料型別修改為INT(2)。操作步驟如下:
1. 使用DESC語句檢視baike369表的結構。如上圖所示。
從查詢結果可以看出,baike369表中存在sex欄位,並且資料型別為TINYINT(1)。
2. 執行ALTER TABLE語句修改sex欄位名和資料型別。SQL程式碼如下:
ALTER TABLE baike369 CHANGE sex stu_sex INT(2);
注:MODIFY和CHANGE都可以改變欄位的資料型別。不同的是,CHANGE可以在改變欄位資料型別的同時,改變欄位名。
在DOS提示符視窗中檢視MySQL修改欄位名和欄位資料型別的操作效果。如下圖所示:
從上圖中可以看出,結果顯示修改已經成功!
3. 使用DESC語句重新檢視baike369表,以檢查sex欄位是否仍存在,它的資料型別是否已經修改。如下圖所示:
從上圖中可以看出,baike369表中已經不存在sex欄位,取而代之的是stu_sex欄位。資料型別也從TINYINT(1)變成了INT(2)。