Cách xuất bảng sang CSV trong MySQL

How Export Table Csv Mysql



Tệp CSV là một định dạng tệp văn bản rất phổ biến được nhiều ứng dụng hỗ trợ. Dạng đầy đủ của CSV là Giá trị được phân tách bằng dấu phẩy. Điều đó có nghĩa là dữ liệu được phân tách bằng dấu phẩy trong mỗi dòng của tệp này. Nó chủ yếu được sử dụng để trao đổi dữ liệu dạng bảng giữa các loại ứng dụng khác nhau hỗ trợ định dạng tệp này. XML là một định dạng tệp khác thường được sử dụng để trao đổi dữ liệu giữa các ứng dụng. Nhưng tệp CSV là một lựa chọn tốt hơn tệp XML, vì nó chiếm ít dung lượng và băng thông hơn tệp XML. Bạn yêu cầu xuất dữ liệu ở định dạng CSV từ một ứng dụng trước khi nhập dữ liệu vào một ứng dụng khác. MySQL hỗ trợ nhiều cách khác nhau để xuất dữ liệu từ các bảng cơ sở dữ liệu. Định dạng CSV là một trong số đó. Bài viết này chỉ ra các cách khác nhau để xuất dữ liệu ở định dạng CSV từ bảng cơ sở dữ liệu MySQL.

Điều kiện tiên quyết:

Trước khi chạy bất kỳ câu lệnh xuất nào, bạn phải tạo một cơ sở dữ liệu và bảng mới hoặc chọn một cơ sở dữ liệu và bảng hiện có. Chạy các lệnh sau để tạo thư viện cơ sở dữ liệu và ba bảng có tên sách, người mượnbook_borrow_info .







TẠO RA CƠ SỞ DỮ LIỆU thư viện;
SỬ DỤNG thư viện;

TẠO RA BÀN sách(
Tôi NS KHÔNG PHẢI VÔ GIÁ TRỊ AUTO_INCREMENT ,
chức vụ varchar (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
tác giả varchar (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
nhà xuất bản varchar (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
KHÓA CHÍNH (Tôi)
) ĐỘNG CƠ = INNODB ;

TẠO RA BÀN người đi vay(
Tôi VARCHAR (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
Tên varchar (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
Địa chỉ varchar (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
e-mail varchar (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
KHÓA CHÍNH (Tôi)
);

TẠO RA BÀN book_borrow_info(
vay_id VARCHAR (năm mươi),
book_id NS ,
vay_date NGÀY KHÔNG PHẢI VÔ GIÁ TRỊ ,
ngày trở lại NGÀY KHÔNG PHẢI VÔ GIÁ TRỊ ,
trạng thái VARCHAR (mười lăm) KHÔNG PHẢI VÔ GIÁ TRỊ ,
MỤC LỤC par_ind(book_id),
KHÓA CHÍNH (vay_id,vay_date),
TỪ KHÓA NGOẠI TỆ (book_id) NGƯỜI GIỚI THIỆU sách(Tôi)
TRÊN XÓA BỎ CASCADE
TRÊN CẬP NHẬT CASCADE );

Chạy các lệnh SQL sau để chèn một số dữ liệu vào ba bảng.



CHÈN VÀO TRONG sách GIÁ TRỊ
( VÔ GIÁ TRỊ , 'Giết con chim nhại', 'Harper Lee', 'Nhà xuất bản Grand Central'),
( VÔ GIÁ TRỊ , 'Một trăm năm yên bình', 'Garcia Marquez', 'Lutfi Ozkok'),
( VÔ GIÁ TRỊ , 'Người vô hình', 'Ralph Ellison', 'Encyclopadeia Britannica, Inc.');

CHÈN VÀO TRONG người đi vay GIÁ TRỊ
('123490', 'Patrick Wood', '34 Phố Tây LANCASTER LA14 9ZH', '[email được bảo vệ]'),
('157643', 'Ezra Martin', '10 The Grove BIRMINGHAM B98 1EU', '[email được bảo vệ]'),
('146788', 'Frederick Hanson', '85 Highfield Road SHREWSBURY SY46 3ME',
'[email được bảo vệ]');

CHÈN VÀO TRONG book_borrow_info GIÁ TRỊ
('123490', 1, '2020-02-15', '2020-02-25', 'Trả lại'),
('157643', 2, '2020-03-31', '2020-03-10', 'Chưa giải quyết'),
('146788', 3, '2020-04-10', '2020-01-20', 'Mượn');

Mọi tệp đã xuất đều lưu trữ ở một vị trí cụ thể trong MySQL và vị trí đó được lưu trữ trong biến, secure_file_priv . Chạy lệnh sau để tìm ra đường dẫn của tệp. Đây là biến chỉ đọc mà bạn không thể thay đổi.



CHỈ BIẾN NHƯ 'chắc chắn_tập tin_priv ';





Vị trí của tệp là ‘/ Var / lib / mysql-files /’ . Bạn phải sử dụng vị trí này tại thời điểm chạy lệnh xuất.

Xuất dữ liệu ở định dạng CSV bằng câu lệnh INTO OUTFILE:

Bất kỳ bảng cơ sở dữ liệu nào cũng có thể được xuất bằng cách sử dụng VÀO OUTFILE tuyên bố. Giả sử, tôi muốn xuất dữ liệu của sách bàn. Chạy lệnh sau để kiểm tra dữ liệu hiện có của bảng này.



LỰA CHỌN * TỪ sách;

Bất kỳ tên tệp nào có .csv phần mở rộng có thể được đặt cho tên tệp xuất. Chạy lệnh xuất sau để tạo books.csv nộp hồ sơ ở vị trí, / var / lib / mysql-files /.

LỰA CHỌN chức vụ,tác giả,nhà xuất bản TỪ sách VÀO TRONG NGOÀI RA '/var/lib/mysql-files/books.csv';

Đi tới vị trí xuất để kiểm tra tệp có được tạo không. Bấm vào tệp để hiển thị nội dung của tệp. Nếu dấu phẩy tồn tại dưới dạng nội dung của bất kỳ giá trị trường nào của bảng thì nó sẽ tách giá trị thành nhiều giá trị. bên trong sách bàn, nhà xuất bản trường chứa dấu phẩy (,) làm nội dung trong bản ghi thứ ba. Nếu bạn kiểm tra nội dung của tệp CSV, bạn sẽ thấy rằng nội dung của nhà xuất bản được phân tách thành hai giá trị không phù hợp.

Để giải quyết vấn đề trên, bạn có thể xuất sách dữ liệu bảng thành tệp CSV bằng cách chỉ định các dấu phân cách cần thiết đúng cách trong câu lệnh SQL. Chạy lệnh sau để xuất sách bàn vào books2.csv tập tin một cách thích hợp. Ở đây, ba dấu phân cách được sử dụng để xuất dữ liệu đúng cách. đó là CÁC LĨNH VỰC ĐƯỢC CHẤM DỨT BỞI , ĐƯỢC CẤP BẰNGDÒNG ĐƯỢC CHẤM DỨT BỞI .

LỰA CHỌN chức vụ,tác giả,nhà xuất bản TỪ sách
VÀO TRONG NGOÀI RA '/var/lib/mysql-files/books2.csv'
LĨNH VỰC CHẤM DỨT BỞI ','
ĐƯỢC CẤP BẰNG ''
DÒNG CHẤM DỨT BỞI ' ';

Bây giờ, nếu bạn mở books2.csv thì bạn sẽ thấy vấn đề trước đó đã được giải quyết trong tệp này và dữ liệu sẽ có dấu phẩy (,) không được chia thành nhiều giá trị.

Xuất dữ liệu ở định dạng CSV bằng ứng dụng khách mysql:

Dữ liệu bảng có thể được xuất thành tệp CSV bằng cách sử dụng ứng dụng khách mysql. Bảng người vay được xuất trong phần này của bài viết này. Chạy lệnh sau để kiểm tra nội dung hiện có của bảng này.

LỰA CHỌN * TỪ người đi vay;

mysql tuyên bố với `nhưng` lệnh được sử dụng ở đây để xuất dữ liệu. Một trong những lợi ích của câu lệnh này là bạn có thể đặt bất kỳ vị trí và tên tệp nào để lưu trữ tệp CSV mà không có vị trí mặc định được sử dụng trong ví dụ trước. Nếu không có mật khẩu cho người dùng root thì -P tùy chọn sẽ bị bỏ qua. Vị trí đã xuất là / tmp và tên tệp là output.csv ở đây.

mysql-h localhost-bạn gốc-P-'select * from library.borrowers' |
quyến rũ'NS/NS/,/NS' > /tmp/output.csv

Nếu bạn mở output.csv thì kết quả sau sẽ xuất hiện.

Xuất dữ liệu ở định dạng CSV bằng phpmyadmin:

Bảng cơ sở dữ liệu có thể được xuất thành tệp CSV rất dễ dàng bằng cách sử dụng bất kỳ công cụ quản trị cơ sở dữ liệu nào. Bạn phải cài đặt công cụ trước khi xuất. phpmyadmin được sử dụng ở đây để xuất bảng thành tệp CSV. Ở đây, tên tệp được xuất sẽ là tên của bảng. Chạy URL sau trong bất kỳ trình duyệt nào để hiển thị danh sách cơ sở dữ liệu hiện có của máy chủ MySQL.

http: // localhost / phpmyadmin

Chọn bảng cơ sở dữ liệu mà bạn muốn xuất và nhấp vào Xuất khẩu tab từ phía bên phải. Chọn định dạng CSV từ Sự sắp xếp danh sách thả xuống và nhấp vào cờ vây cái nút. Chọn Lưu tập tin tùy chọn và nhấn OK cái nút.


Tệp sẽ được tải xuống trong Tải xuống thư mục. Ở đây, book_borrow_info bảng được xuất. Vì vậy, tên tệp CSV sẽ là book_borrow_info.csv và nội dung sau sẽ xuất hiện nếu bạn mở tệp.

Phần kết luận:

Nhiệm vụ trao đổi dữ liệu giữa các ứng dụng trở nên dễ dàng hơn bằng cách sử dụng tính năng xuất của máy chủ cơ sở dữ liệu. MySQL hỗ trợ nhiều định dạng tệp khác để xuất dữ liệu bảng. Sql định dạng tệp chủ yếu được sử dụng để chuyển dữ liệu giữa các máy chủ cơ sở dữ liệu giống nhau. Định dạng CSV rất hữu ích nếu bạn muốn trao đổi dữ liệu giữa hai ứng dụng khác nhau.