2011-11-15 39 views
18

Tôi có rất nhiều tệp excel/CSV mà tôi cần tải vào db của mình trong MySQL Workbench (Tôi đang sử dụng Mac OS X). Tôi đã tìm kiếm xung quanh cho một walk-through tốt hoặc hướng dẫn, nhưng tôi đã không nhìn thấy bất cứ điều gì mà giải thích rõ ràng làm thế nào để tải CSV vào MySQL Workbench .... bất cứ ai có thể giúp đỡ?Tải các tệp CSV vào MySQL Workbench

+0

Kiểm tra http://stackoverflow.com/questions/8031193/import-data-from-excel-spreadsheet-or-cvs-into-mysql –

Trả lời

3

Nó có phải là Bàn làm việc không?

Bạn có thể sử dụng các thùng chứa MySQL khác không?

Dưới đây là một ví dụ: Tạo cơ sở dữ liệu

Tạo bảng

load data local infile '/path/whatever.csv' into table dbName.tableName fields terminated by ',' enclosed by '"' lines terminated by '\n';

+0

Bàn làm việc MySQL trông giống như tùy chọn dễ nhất cho tôi..Tôi đang mở cho bất kỳ đề xuất? – janglosaxon

+1

Nếu bạn đang tìm kiếm GUI, thì phpMyAdmin có thể thực hiện nhập CSV. Trên màn hình nhập, bạn có thể chỉ định định dạng của tệp và xác định các ký tự chấm dứt. – djdy

12

bạn đang cố gắng để tải file csv vào một bảng MySQL? Bạn có thể làm điều đó dễ dàng với lệnh LOAD DATA LOCAL INFILE.

Ví dụ:

LOAD DATA LOCAL INFILE '/data.csv' INTO TABLE my_table FIELDS TERMINATED BY ','

Bạn sẽ có thể nhập lệnh từ bất kỳ giao diện để MySQL. Tôi giả định bàn làm việc có một cách để bạn thực hiện truy vấn sql.

+1

Cảm ơn! Tuyên bố đó hoạt động nhưng nó chỉ tải một hàng tại một thời điểm ... bất kỳ sự trợ giúp có kinh nghiệm nào từ bàn làm việc sẽ được đánh giá cao nhưng tôi sẽ cho nó một ảnh chụp – janglosaxon

+3

nó có thể phải thực hiện với dấu tách dòng trên tệp bạn đang cố gắng nhập . Hãy thử thêm một trong các tùy chọn sau vào truy vấn của bạn 'LINES TERMINATED BY' \ r \ n'' hoặc 'LINES TERMINATED BY '\ r''. Nếu bạn biết ký tự dấu tách dòng chỉ cần thêm 'LINES TERMINATED BY' '' –

+0

Đối với tôi đó là '\ r'. Cảm ơn vì điều đó. –

3

Để tham khảo, tôi muốn thực hiện việc này trên Windows và sử dụng HeidiSQL để hoàn thành tác vụ. Nó rất đơn giản, tôi đã sử dụng Công cụ -> Nhập tệp CSV và nó hoạt động trong lần thử đầu tiên.

+0

Cảm ơn bạn, bananafish. Tôi biết 'LOAD DATA LOCAL INFILE' trước đây, nhưng [HeidiSQL] (http://www.heidisql.com/) là một lựa chọn rất hay! –

0

này được phức tạp đối với tôi, nhưng đây là những gì tôi đã làm:

tôi đã phpMyAdmin cài đặt, vì vậy tôi xuất khẩu sang CSV w/, tách và " như nhân vật chạy thoát. PHPmyAdmin không thể xử lý " làm lối thoát, vì vậy tôi tìm/thay thế tất cả các phiên bản "" bằng \" và nó hoạt động. Suerte!

0

Mở tệp Excel bằng số iWork 9) và xuất sang CSV. Nhập vào MySQL với tùy chọn 'CSV với LOAD DATA' hoạt động tốt.

1

Hoặc bạn có thể sử dụng Excel để tạo nhiều câu lệnh LOAD DATA INFILE bằng cách sử dụng danh sách tệp cần tải.

Này, bạn có thể:

  1. nơi tên của tập tin trong một cột của Excel
  2. nơi một công thức như thế này trong ô B1:

    = "LOAD DATA LOCAL INFILE 'đường dẫn/"& A1 &"' BẢNG VÀO BẢNG CỘNG ĐỒNG tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\ r \ n'; "

  3. sao chép & dán ô B1 vào ô B cột khi cần.

Vì vậy, bạn sẽ phải statemens LOAD DATA trong cột B của Excel và chỉ có thể sao chép & dán chúng vào dòng lệnh mysql.

Có thể nó sẽ không quá thuận lợi cho người dùng có quyền viết kịch bản, nhưng có thể có ý nghĩa đối với người dùng mạnh mẽ của MS Excel.