Làm cách nào để nhập tệp CSV vào bảng MySQL?


306

Tôi có một CSV nhật ký sự kiện không chuẩn hóa từ một máy khách mà tôi đang cố tải vào bảng MySQL để tôi có thể cấu trúc lại thành định dạng lành mạnh. Tôi đã tạo một bảng có tên 'CSVImport' có một trường cho mỗi cột của tệp CSV. CSV chứa 99 cột, vì vậy đây là một nhiệm vụ đủ khó:

CREATE TABLE 'CSVImport' (id INT);
ALTER TABLE CSVImport ADD COLUMN Title VARCHAR(256);
ALTER TABLE CSVImport ADD COLUMN Company VARCHAR(256);
ALTER TABLE CSVImport ADD COLUMN NumTickets VARCHAR(256);
...
ALTER TABLE CSVImport Date49 ADD COLUMN Date49 VARCHAR(256);
ALTER TABLE CSVImport Date50 ADD COLUMN Date50 VARCHAR(256);

Không có ràng buộc nào trên bảng và tất cả các trường giữ các giá trị VARCHAR (256), ngoại trừ các cột có chứa số đếm (được biểu thị bằng INT), có / không (được biểu thị bằng BIT), giá (được biểu thị bằng DECIMAL) và làm mờ văn bản ( đại diện bởi văn bản).

Tôi đã cố tải dữ liệu vào tập tin:

LOAD DATA INFILE '/home/paul/clientdata.csv' INTO TABLE CSVImport;
Query OK, 2023 rows affected, 65535 warnings (0.08 sec)
Records: 2023  Deleted: 0  Skipped: 0  Warnings: 198256
SELECT * FROM CSVImport;
| NULL             | NULL        | NULL           | NULL | NULL               | 
...

Toàn bộ bàn được lấp đầy NULL.

Tôi nghĩ vấn đề là các vệt mờ văn bản chứa nhiều hơn một dòng và MySQL đang phân tích tệp như thể mỗi dòng mới sẽ tương ứng với một hàng databazse. Tôi có thể tải tệp vào OpenOffice mà không gặp vấn đề gì.

Tệp clientdata.csv chứa 2593 dòng và 570 bản ghi. Dòng đầu tiên chứa tên cột. Tôi nghĩ rằng nó được phân cách bằng dấu phẩy và văn bản rõ ràng được phân định bằng doublequote.

CẬP NHẬT:

Khi nghi ngờ, hãy đọc hướng dẫn: http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Tôi đã thêm một số thông tin vào LOAD DATAtuyên bố rằng OpenOffice đủ thông minh để suy luận và bây giờ nó tải đúng số lượng hồ sơ:

LOAD DATA INFILE "/home/paul/clientdata.csv"
INTO TABLE CSVImport
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Nhưng vẫn còn rất nhiều NULLhồ sơ hoàn chỉnh , và không có dữ liệu nào được tải dường như được đặt đúng chỗ.


17
Và nếu bạn đang dùng OSX Sequel Pro có một công cụ nhập tuyệt vời và nó MIỄN PHÍ ;-)
Merrick

41
Thật đáng ngạc nhiên với tôi rằng poster ban đầu đã trả lời câu hỏi của chính anh ấy tốt hơn bất kỳ ai khác ... Tôi không biết tại sao rất nhiều người sẵn sàng đưa ra khuyến nghị phần mềm khi có lệnh SQL hiện có, có thể lập trình thay vì UI -dựa trên. Tôi không biết về bất kỳ ai khác, nhưng với tôi lập trình có nghĩa là tôi có thể có các tập lệnh được thiết lập để tự động nhập các tệp trên dấu thời gian, trong khi dựa trên UI hoàn toàn là thủ công.
Chris Cirefice

@ChrisCirefice: Tôi nghĩ rằng câu trả lời được chấp nhận giải thích điều đó tốt. Anh ta cần một số trợ giúp để tạo thủ công lệnh 'tải dữ liệu' mà chương trình đồ họa có thể trợ giúp. Khi chương trình đồ họa đã tạo lệnh 'tải dữ liệu', anh ta có thể sử dụng lại nó theo chương trình.
AlexC

@Merrick điều này đã làm việc một điều trị trên osx
weaveoftheride

Tôi đã viết hướng dẫn mở rộng để tải dữ liệu csv vào mysql cùng với công cụ tạo cú pháp trong Excel .
mysql_user

Câu trả lời:


133

Cốt lõi của vấn đề của bạn dường như khớp các cột trong tệp CSV với các cột trong bảng.

Nhiều máy khách myQuery đồ họa có các hộp thoại nhập rất đẹp cho loại điều này.

Công việc yêu thích của tôi là HeidiQuery dựa trên Windows . Nó cung cấp cho bạn một giao diện đồ họa để xây dựng LOAD DATAlệnh; bạn có thể sử dụng lại nó sau đó.

Nhập tệp văn bản

Ảnh chụp màn hình: Hộp thoại "Nhập tệp văn bản"

Để mở hộp thoại Nhập tệp văn bản ", hãy đi tới Tools > Import CSV file:

nhập mô tả hình ảnh ở đây


25
Đối với Mac OSX, sử dụng Sequel Pro.
Agi Hammerthief

3
Tôi vừa thử nó và nó yêu cầu tôi tạo bảng trước ... thay vì sử dụng tên cột.
Dominique

3
Bạn phải chọn một bảng trước khi bạn có thể tiếp tục ... và vì toàn bộ điểm không phải tạo bảng ...
Dominique

3
Lưu ý rằng trong Linux, HeidiSQL hoạt động rất tốt trong Wine.
AlejandroVD

1
@Paul điểm chính của câu trả lời là các công cụ GUI có thể giúp việc nhập các cột nhập vào cột trong bảng dễ dàng hơn.
Pekka

191

Sử dụng mysqlimport để tải bảng vào cơ sở dữ liệu:

mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv

Tôi đã tìm thấy nó tại http://chawniffel.com/everything-linux/how-to-import-a-large-csv-file-to-mysql/

Để làm cho dấu phân cách một tab, sử dụng --fields-terminated-by='\t'


6
mysqlimportsử dụng LOAD DATA INFILE...đằng sau hậu trường, vì vậy nó khá giống nhau.
Mladen Jablanović

8
Như với LOAD DATA INFILE, bạn cần tạo một bảng trước khi bạn có thể sử dụng mysqlimport.
Marcus Downing

@ MladenJablanović, nó chắc chắn không phải là điều tương tự. Hãy thử nhập hàng 1 tỷ. Bạn sẽ ngạc nhiên về sự khác biệt lớn về mặt hiệu suất
ninjabber

@ninjabber Các tài liệu nói Máy khách mysqlimport cung cấp giao diện dòng lệnh cho LOAD DATA INFILE , vì vậy về mặt lý thuyết là không thể cung cấp bất kỳ lợi ích hiệu suất nào LOAD DATA INFILE.
Mladen Jablanović

1
cũng cần --fields-optionally-enclosed-by=\"và `--fields-escoped-by = \`
chaintng

80

Cách đơn giản nhất mà tôi đã nhập hơn 200 hàng nằm dưới lệnh trong cửa sổ phpmyadmin sql

Tôi có một bảng quốc gia đơn giản với hai cột CountryId, CountryName

đây là dữ liệu .csvTẬP TIN CSV

đây là lệnh:

LOAD DATA INFILE 'c:/country.csv' 
INTO TABLE country 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS

Hãy ghi nhớ một điều, không bao giờ xuất hiện, trong cột thứ hai, nếu không việc nhập của bạn sẽ dừng lại


1
',' -> '\ t', '"' -> '' trong trường hợp tệp TSV và xóa dòng cuối cùng nếu không có tiêu đề. (hy vọng trình thu thập tìm kiếm lập chỉ mục này).
Chảy máu ngón tay

16
Nếu đó là một tệp cục bộ, bạn có thể cần phải LOAD DATA LOCAL INFILE. Nếu điều này gây ra lỗi 1148 "lệnh đã sử dụng không được phép", bạn có thể kích hoạt nó bằng cách chạy mysql trên dòng lệnh với --local-infile.
Big McLUNDHuge

tôi đã gặp lỗi: ERROR 1045 (28000): Truy cập bị từ chối đối với người dùng 'người dùng' @ '%' (sử dụng mật khẩu: CÓ)
ARUNBALAN NV

Bạn phải cấp tất cả quyền truy cập cho người dùng, từ bảng quản trị, sau đó thử nhập tập lệnh.
DareDevil

1
Tôi gặp lỗi này: Máy chủ MySQL đang chạy với tùy chọn --secure-file-private để nó không thể thực thi câu lệnh này
Agniswar Bakshi

66

Tôi biết rằng câu hỏi đã cũ , nhưng tôi muốn chia sẻ điều này

Tôi đã sử dụng phương pháp này để nhập hơn 100 nghìn bản ghi ( ~ 5MB ) trong 0,046 giây

Đây là cách bạn làm điều đó:

LOAD DATA LOCAL INFILE  
'c:/temp/some-file.csv'
INTO TABLE your_awesome_table  
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(field_1,field_2 , field_3);

Điều rất quan trọng là bao gồm dòng cuối cùng, nếu bạn có nhiều hơn một trường tức là thông thường nó bỏ qua trường cuối cùng (MySQL 5.6.17)

LINES TERMINATED BY '\n'
(field_1,field_2 , field_3);

Sau đó, giả sử bạn có hàng đầu tiên làm tiêu đề cho các trường của mình, bạn cũng có thể muốn bao gồm dòng này

IGNORE 1 ROWS

Đây là những gì nó trông giống như nếu tập tin của bạn có một hàng tiêu đề.

LOAD DATA LOCAL INFILE  
'c:/temp/some-file.csv'
INTO TABLE your_awesome_table  
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(field_1,field_2 , field_3);

Tôi đã nhập 16k hàng và 48 cột. Cảm ơn bạn, bạn thân.
Renjith VR

Đây là giải pháp tốt nhất. Đối với bất kỳ ai tò mò điều này nhanh như thế nào: Tôi đã nhập 3,2 triệu hàng trong vòng dưới 14 giây trên một ví dụ AWS $ 20 / tháng, với máy chủ MySQL trên máy bay (không phải RDS hiệu suất cao). Tuyệt vời!
master_gracey

Trong dòng này, (field_1,field_2 , field_3);nó có đề cập đến danh sách các cột trong tệp .csv hoặc trong bảng không? tức là những lĩnh vực này là gì?
tera_789

@ tera_789 Những cái trong tệp csv của bạn có thể sẽ khớp với bảng của bạn
Fahad

Phải theo định dạng dữ liệu. ví dụ (đối với trường hợp của tôi) <pre> first_name, last_name, dob, phone_number, email, name, lastName, 12-05-2018,54545, faiz @ gmail.com, name1, lastName1,2018-05-12,456, faiz1 @ gmail .com, name2, lastName2,2018-05-12,456, faiz2 @ gmail.com, name3, lastName3,2018-05-22,456, faiz3 @ gmail.com, name4, lastName4,1988-05-22,456, faiz4 @ gmail.com , name5, lastName5,1988-05-22,456, faiz5 @ gmail.com, name6, lastName6,1987-05-21,456, faiz6 @ gmail.com </ pre>
Faiz Ahmed

32

phpMyAdmin có thể xử lý nhập CSV. Dưới đây là các bước:

  1. Chuẩn bị tệp CSV để có các trường theo thứ tự giống như các trường bảng MySQL.

  2. Xóa hàng tiêu đề khỏi CSV (nếu có), để chỉ có dữ liệu trong tệp.

  3. Chuyển đến giao diện phpMyAdmin.

  4. Chọn bảng trong menu bên trái.

  5. Nhấp vào nút nhập ở trên cùng.

  6. Duyệt đến tệp CSV.

  7. Chọn tùy chọn "CSV sử dụng LOAD DATA".

  8. Nhập "," trong "các trường kết thúc bởi".

  9. Nhập tên cột theo thứ tự giống như trong bảng cơ sở dữ liệu.

  10. Nhấp vào nút đi và bạn đã hoàn tất.

Đây là một lưu ý mà tôi đã chuẩn bị cho việc sử dụng trong tương lai của mình và chia sẻ ở đây nếu người khác có thể hưởng lợi.


Điều này là tốt và đơn giản. Tôi thích tạo bảng và cột thông qua SQL (vì vậy tôi bỏ qua Bước # 9) và chèn dữ liệu thông qua nhập CSV. Đừng quên đặt NULLtrong CSV cho bất kỳ trường / cột tăng tự động nào.
bạc

Lưu ý rằng phpMyAdmin thất bại thảm hại khi các ký tự Cyrillic được đưa vào tệp CSV, bất kể bạn bảo nó sử dụng utf-8.
Fran Marzoa

Đừng quên thay đổi kích thước nhập nếu bạn đang nhập tệp CSV lớn. BTW không phải là một lựa chọn tốt cho các tệp CSV lớn.
Avi

Điều này yêu cầu tải xuống tệp .csv cho máy khách web trước vì bạn không thể duyệt đến tệp csv cục bộ.
mckenzm

Có, bạn có thể, bạn cần kiểm tra hộp kiểm được đánh dấu 'Từ khóa cục bộ' và bạn có thể sử dụng tệp csv cục bộ
chrisfs

12

Bạn có thể khắc phục điều này bằng cách liệt kê các cột trong câu lệnh LOAD DATA. Từ hướng dẫn :

LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata (col1,col2,...);

... Vì vậy, trong trường hợp của bạn, bạn cần liệt kê 99 cột theo thứ tự xuất hiện trong tệp csv.


8

Hãy thử nó, nó làm việc cho tôi

    LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' IGNORE 1 ROWS;

IGNORE 1 ROWS ở đây bỏ qua hàng đầu tiên chứa tên trường. Lưu ý rằng đối với tên tệp, bạn phải nhập đường dẫn tuyệt đối của tệp.


Đây là câu trả lời tốt nhất. Tại sao sử dụng một công cụ khác khi một lệnh SQL duy nhất sẽ làm?
sdgfsdh

Bạn có biết làm thế nào để nó hoạt động khi bạn cố tải tập tin vào mysql chạy trên máy chủ không? Nó yêu cầu tôi truy cập bị từ chối cho các tập tin (mật khẩu). Nhập mật khẩu của vị trí tập tin csv ở đâu?
Baktaawar

7

Dòng lệnh mysql dễ gặp quá nhiều vấn đề khi nhập. Đây là cách bạn làm điều đó:

  • sử dụng excel để chỉnh sửa tên tiêu đề để không có khoảng trắng
  • lưu dưới dạng .csv
  • sử dụng Navicat Lite Sql Browser miễn phí để nhập và tự động tạo một bảng mới (đặt tên cho nó)
  • mở bảng mới chèn một cột số tự động chính cho ID
  • thay đổi loại cột theo ý muốn.
  • làm xong!

5

Nếu bạn đang sử dụng MySQL Workbench (phiên bản hiện tại là 6.3), bạn có thể thực hiện việc này bằng cách:

  1. Nhấp chuột phải vào "Bảng";
  2. Trình hướng dẫn nhập dữ liệu bảng chọn;
  3. Chọn tệp csv của bạn và làm theo hướng dẫn (JSON cũng có thể được sử dụng); Điều tốt là bạn có thể tạo một bảng mới dựa trên tệp csv mà bạn muốn nhập hoặc tải dữ liệu vào một bảng hiện có

nhập mô tả hình ảnh ở đây


+1. Tôi đã sử dụng điều này bởi vì mysql liên tục đưa ra lỗi cho tôi LOAD DATA INFILEmysqlimport("điều này không được hỗ trợ trên phiên bản mysql này")
clmno

Phương pháp này hoạt động, nhưng nó hơi chậm. Tôi đã nghĩ rằng việc sử dụng tính năng này sẽ tạo ra một INSERTtruy vấn lớn và cố gắng thực hiện tất cả cùng một lúc, nhưng có vẻ như thực hiện theo cách này thực sự chạy một lần INSERTmỗi hàng.
DaveTheMinion

4

Tôi thấy có gì đó lạ. Bạn đang sử dụng để ESCAPING cùng một ký tự bạn sử dụng để ENCLOSING. Vì vậy, động cơ không biết phải làm gì khi tìm thấy '' 'và tôi nghĩ đó là lý do tại sao dường như không có gì ở đúng vị trí. Tôi nghĩ rằng nếu bạn loại bỏ dòng ESCAPING, thì nên chạy tuyệt vời.

LOAD DATA INFILE "/home/paul/clientdata.csv"
INTO TABLE CSVImport
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Trừ khi bạn phân tích (thủ công, trực quan, ...) CSV của bạn và tìm ký tự nào sử dụng để thoát. Đôi khi là '\'. Nhưng nếu bạn không có nó, đừng sử dụng nó.


3

Một giải pháp khác là sử dụng công cụ csvsql từ bộ csvkit tuyệt vời .

Ví dụ sử dụng:

csvsql --db mysql://$user:$password@localhost/$database --insert --tables $tablename  $file

Công cụ này có thể tự động suy ra các loại dữ liệu (hành vi mặc định), tạo bảng và chèn dữ liệu vào bảng đã tạo. --overwritetùy chọn có thể được sử dụng để thả bảng nếu nó đã tồn tại. --inserttùy chọn - để điền vào bảng từ tệp.

Để cài đặt bộ

pip install csvkit

Điều kiện tiên quyết: python-dev , libmysqlclient-dev,MySQL-python

apt-get install python-dev libmysqlclient-dev
pip install MySQL-python

3

Cách nhập tệp csv vào bảng sql

Tệp ví dụ: Overseas_trade_indextệp CSV dữ liệu

Các bước:

  1. Cần tạo bảng cho overseas_trade_index.

  2. Cần tạo các cột liên quan đến tập tin csv.

    Truy vấn SQL:

    ( id int not null primary key auto_increment,
    series_reference varchar (60),
    period varchar (60),
    data_value decimal(60,0),
    status varchar (60),
    units varchar (60),
    magnitude int(60),
    subject text(60),
    group text(60),
    series_title_1 varchar (60),
    series_title_2 varchar (60),
    series_title_3 varchar (60),
    series_title_4 varchar (60),
    series_title_5 varchar (60),
     );
  3. Cần kết nối cơ sở dữ liệu mysql trong terminal.

    =>show databases;
    =>use database;
    =>show tables;
  4. Vui lòng nhập lệnh này để nhập dữ liệu csv vào các bảng mysql.

    load data infile '/home/desktop/Documents/overseas.csv' into table trade_index fields terminated by ',' lines terminated by '\n' (series_reference,period,data_value,status,units,magnitude,subject,series_title1,series_title_2,series_title_3,series_title_4,series_title_5);
  5. Tìm dữ liệu chỉ số thương mại ở nước ngoài trên sqldatabase:

    select * from trade_index;

2

Nếu bạn đang sử dụng máy windows với bảng tính Excel được tải, plugin mySql mới cho Excel là một hiện tượng. Những người ở Oracle thực sự đã làm rất tốt trên phần mềm đó. Bạn có thể tạo kết nối cơ sở dữ liệu trực tiếp từ Excel. Plugin đó sẽ phân tích dữ liệu của bạn và thiết lập các bảng cho bạn theo định dạng phù hợp với dữ liệu. Tôi đã có một số tập tin dữ liệu csv lớn quái vật để chuyển đổi. Công cụ này là một tiết kiệm thời gian lớn.

http://dev.mysql.com/doads/windows/excel/

Bạn có thể thực hiện cập nhật từ trong Excel sẽ đưa vào cơ sở dữ liệu trực tuyến. Điều này làm việc cực kỳ tốt với các tệp mySql được tạo trên lưu trữ chia sẻ GoDaddy cực rẻ. (Lưu ý khi bạn tạo bảng tại GoDaddy, bạn phải chọn một số cài đặt ngoài tiêu chuẩn để cho phép tắt truy cập trang web của cơ sở dữ liệu ...)

Với plugin này, bạn có khả năng tương tác thuần túy giữa bảng tính XL và lưu trữ dữ liệu mySql trực tuyến.


2

Tôi sử dụng bàn làm việc mysql để làm công việc tương tự.

  1. tạo lược đồ mới
  2. mở lược đồ mới được tạo
  3. nhấp chuột phải vào "Bảng" và chọn "Trình hướng dẫn nhập dữ liệu bảng"
  4. đưa ra đường dẫn tệp csv và tên bảng và cuối cùng định cấu hình loại cột của bạn vì trình hướng dẫn đặt loại cột mặc định dựa trên các giá trị của chúng.

Lưu ý: hãy xem tệp nhật ký của bàn làm việc của mysql để biết bất kỳ lỗi nào bằng cách sử dụng "tail -f [mysqlworkbenchpath] /log/wb*.log"


Cảm ơn rất nhiều về câu trả lời của bạn - là người mới đối với MySQL Tôi không biết về điều này - nó đã giúp tôi với CSV. Bây giờ, tôi cũng cần nhập 10 bảng từ Access - bạn có nghĩ cách đơn giản nhất sẽ là xuất các bảng này sang Excel, từ Excel sang CSV và sau đó sử dụng các bước này không?
Naomi

Tôi thấy rằng phương thức này không nhập tất cả các hàng :( Trong số 5.342 hàng, nó chỉ nhập 2.485 hàng cho tôi. Tại sao lại như vậy?
Naomi

Này Naomi, nếu bạn kiểm tra nhật ký mysqlworkbench, nó sẽ cho bạn thấy lý do tại sao nó dừng nhập dữ liệu. Bạn có thể có một số giá trị null hoặc loại không khớp trong tệp DB và CSV của bạn. Nhưng tôi thực sự khuyên bạn nên làm theo câu trả lời của Juan (ngay sau tôi). Giải pháp của anh ấy tốt hơn và sạch hơn tôi.
Mehdi

1

Dưới đây là mẫu chụp màn hình tệp excel:

nhập mô tả hình ảnh ở đây

Lưu dưới dạng và chọn .csv.

Và bạn sẽ có ảnh chụp màn hình dữ liệu .csv bên dưới nếu bạn mở bằng notepad ++ hoặc bất kỳ notepad nào khác.

nhập mô tả hình ảnh ở đây

Hãy chắc chắn rằng bạn xóa tiêu đề và có căn chỉnh cột trong .csv như trong Bảng mysql. Thay thế thư mục tên bằng tên thư mục của bạn

LOAD DATA INFILE INFILE
'D: /folder_name/myfilename.csv' VÀO BẢNG thư FIELDS KẾT THÚC B'NG ',' (fname, lname, email, phone);

Nếu dữ liệu lớn, bạn có thể uống cà phê và tải nó!.

Đó là tất cả những gì bạn cần.



0

Truy vấn PHP để nhập tệp csv vào cơ sở dữ liệu mysql

$query = <<<EOF
            LOAD DATA LOCAL INFILE '$file'
             INTO TABLE users
             FIELDS TERMINATED BY ','
             LINES TERMINATED BY '\n'
             IGNORE 1 LINES
            (name,mobile,email)
    EOF;
if (!$result = mysqli_query($this->db, $query))
   {
        exit(mysqli_error($this->db));
   }

** Dữ liệu tệp CSV mẫu **

name,mobile,email
Christopher Gritton,570-686-3439,ChristopherKGritton@inbound.plus
Brandon Wilson,541-309-5149,BrandonMWilson@inbound.plus
Craig White,516-795-8065,CraigJWhite@inbound.plus
David Whitney,713-214-3966,DavidCWhitney@inbound.plus

0

Thay đổi tên máy chủ, tên người dùng, mật khẩu, dbname, đường dẫn tệp của bạn, tablename và trường trong cơ sở dữ liệu của bạn mà bạn muốn chèn

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "bd_dashboard";
    //For create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    $query = "LOAD DATA LOCAL INFILE 
                'C:/Users/lenovo/Desktop/my_data.csv'
                INTO TABLE test_tab
                FIELDS TERMINATED BY ','
                LINES TERMINATED BY '\n'
                IGNORE 1 LINES
                (name,mob)";
    if (!$result = mysqli_query($conn, $query)){
        echo '<script>alert("Oops... Some Error occured.");</script>';
        exit();
            //exit(mysqli_error());
       }else{
        echo '<script>alert("Data Inserted Successfully.");</script>'
       }
    ?>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.