在mysql中,可以通過「ALTER TABLE 舊錶名 RENAME 新表名;」語句來修改表名,通過「ALTER TABLE 表名 CHANGE 舊欄位名/列名 新欄位名/列名 新資料型別;」語句來修改列名。
修改mysql的表名
MySQL 通過 ALTER TABLE 語句來實現表名的修改,語法規則如下:
ALTER TABLE <舊錶名> RENAME [TO] <新表名>;
其中,TO 為可選引數,使用與否均不影響結果。
例 1
使用 ALTER TABLE 將資料表 student 改名為 tb_students_info,SQL 語句和執行結果如下所示。
mysql> ALTER TABLE student RENAME TO tb_students_info; Query OK, 0 rows affected (0.01 sec) mysql> SHOW TABLES; +------------------+ | Tables_in_test | +------------------+ | tb_students_info | +------------------+ 1 row in set (0.00 sec)
提示:修改表名並不修改表的結構,因此修改名稱後的表和修改名稱前的表的結構是相同的。使用者可以使用 DESC 命令檢視修改後的表結構,
修改mysql的列名(欄位名)
MySQL 資料表是由行和列構成的,通常把表的「列」稱為欄位(Field),把表的「行」稱為記錄(Record)。
MySQL 中修改表欄位名的語法規則如下:
ALTER TABLE <表名> CHANGE <舊欄位名> <新欄位名> <新資料型別>;
其中:
舊欄位名:指修改前的欄位名;
新欄位名:指修改後的欄位名;
新資料型別:指修改後的資料型別,如果不需要修改欄位的資料型別,可以將新資料型別設定成與原來一樣,但資料型別不能為空。
例 2
使用 ALTER TABLE 修改表 tb_emp1 的結構,將 col1 欄位名稱改為 col3,同時將資料型別變為 CHAR(30),SQL 語句和執行結果如下所示。
mysql> ALTER TABLE tb_emp1 -> CHANGE col1 col3 CHAR(30); Query OK, 0 rows affected (0.76 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp1; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | col3 | char(30) | YES | | NULL | | | id | int(11) | YES | | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 rows in set (0.01 sec)
CHANGE 也可以只修改資料型別,實現和 MODIFY 同樣的效果,方法是將 SQL 語句中的「新欄位名」和「舊欄位名」設定為相同的名稱,只改變「資料型別」。
提示:由於不同型別的資料在機器中的儲存方式及長度並不相同,修改資料型別可能會影響資料表中已有的資料記錄,因此,當資料表中已經有資料時,不要輕易修改資料型別。
推薦教學:
以上就是怎麼修改mysql的表名和列名?的詳細內容,更多請關注TW511.COM其它相關文章!