借助 ALTER TABLE 命令,您可以更改 MySQL 表的列位置而不會(huì)丟失數(shù)據(jù)。語(yǔ)法如下 –
ALTER TABLE yourTableName MODIFY yourColumnName1 data type AFTER yourColumnName2;
登錄后復(fù)制
為了理解上述概念,讓我們創(chuàng)建一個(gè)表。創(chuàng)建包含某些列的表的查詢?nèi)缦?–
mysql> create table changeColumnPositionDemo −> ( −> StudentId int, −> StudentAddress varchar(200), −> StudentAge int, −> StudentName varchar(200) −> ); Query OK, 0 rows affected (0.72 sec)
登錄后復(fù)制
讓我們?cè)诒碇胁迦胍恍?shù)據(jù)。插入記錄的查詢?nèi)缦?.
mysql> insert into changeColumnPositionDemo values(101,'US',23,'Johnson'); Query OK, 1 row affected (0.13 sec) mysql> insert into changeColumnPositionDemo values(102,'UK',20,'John'); Query OK, 1 row affected (0.19 sec) mysql> insert into changeColumnPositionDemo values(103,'US',22,'Carol'); Query OK, 1 row affected (0.39 sec) mysql> insert into changeColumnPositionDemo values(104,'UK',19,'Sam'); Query OK, 1 row affected (0.18 sec)
登錄后復(fù)制
現(xiàn)在您可以借助 select 語(yǔ)句來(lái)顯示所有記錄。查詢?nèi)缦?–
mysql> select *from changeColumnPositionDemo;
登錄后復(fù)制
以下是輸出 –
+-----------+----------------+------------+-------------+ | StudentId | StudentAddress | StudentAge | StudentName | +-----------+----------------+------------+-------------+ | 101 | U | 23 | Johnson | | 102 | UK | 20 | John | | 103 | US | 22 | Carol | | 104 | UK | 19 | Sam | +-----------+----------------+------------+-------------+ 4 rows in set (0.00 sec)
登錄后復(fù)制
這里是更改列位置而不丟失數(shù)據(jù)的查詢。我們將“StudentAddress”列移至“StudentAge”列之后 –
mysql> ALTER TABLE changeColumnPositionDemo MODIFY StudentAddress varchar(200) AFTER StudentAge; Query OK, 0 rows affected (2.27 sec) Records: 0 Duplicates: 0 Warnings: 0
登錄后復(fù)制
上面我們?cè)诹忻鸖tudentAge之后設(shè)置了列StudentAddress。
以下是檢查上述兩列是否已更改且不丟失數(shù)據(jù)的查詢 –
mysql> select *from changeColumnPositionDemo;
登錄后復(fù)制
以下是輸出 –
+-----------+------------+----------------+-------------+ | StudentId | StudentAge | StudentAddress | StudentName | +-----------+------------+----------------+-------------+ | 101 | 23 | US | Johnson | | 102 | 20 | UK | John | | 103 | 22 | US | Carol | | 104 | 19 | UK | Sam | +-----------+------------+----------------+-------------+ 4 rows in set (0.00 sec)
登錄后復(fù)制
以上就是如何改變MySQL表的列位置而不丟失列數(shù)據(jù)?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!