2016-01-06 100 views
1

我使用load data local infile命令將一個csv文件加載到mySQL中。當我查看錶格時,行的順序與csv文件不同。有沒有辦法讓他們按照相同的順序。表不是以相同的順序mySQL

+0

使用'ORDER BY column_name'命令查詢結果 – RiggsFolly

+1

SQL代表* unordered *集合。如果您希望在表格中排列結果,則需要指定要排序的列。 – Siyual

回答

2

在關係數據庫表中沒有任何固有的「訂單」。如果要按特定順序查看行,請使用SELECT語句中的ORDER BY子句。如果您通過某個用戶界面查看數據,則由用戶界面來提供該功能(或不用)。

3

SQL表格表示無序集合。沒有訂購。然而,有一個竅門。我假設你正在使用load data infile。定義你的表有一個自增標識列:

create table . . . (
    tableId int auto_increment primary key, 
    . . . 
); 

然後,當你從文件到表中加載數據,你可以列出所有字段除了tableId(或者說是場適當)。並明確使用set testId = NULL

然後,您可以使用訪問表:

select t.* 
from t t 
order by tableId; 

不幸的是,我從來沒有發現的文檔,這是保證遞增的插入順序的ID。不過,我確實相信它在實踐中有效。

+0

我希望mySQL的順序與Excel電子表格相同。 – Crt

+2

@Crt。 。 。我假設你正在使用'load data infile'。如果沒有,只需在顯式排序的電子表格中添加一列,並在獲取數據時記得在'order by'子句中包含該列。 –

相關問題