Nhập & Xuất
TablePro hỗ trợ import dữ liệu từ file CSV, JSON và SQL, cũng như export dữ liệu theo nhiều định dạng (CSV, JSON, SQL và Excel XLSX) để sao lưu, di chuyển hoặc phân tích.
Export Dữ Liệu
Tùy Chọn Export
Export dữ liệu từ kết quả query hoặc bảng:
- Chạy query hoặc mở bảng
- Click nút Export trong toolbar
- Chọn định dạng export
- Chọn đích đến và tùy chọn
- Click Export
Định Dạng Export
Comma-Separated ValuesTốt nhất cho:
- Excel và ứng dụng bảng tính
- Công cụ phân tích dữ liệu
- Trao đổi dữ liệu đơn giản
Tùy chọn:| Tùy chọn | Mô tả | Mặc định |
|---|
| Delimiter | Ký tự phân tách giá trị | , (dấu phẩy) |
| Quote | Ký tự để trích dẫn chuỗi | " |
| Header | Bao gồm tên cột | Có |
| NULL as | Cách biểu diễn NULL | Chuỗi rỗng |
| Formula sanitization | Ngăn chặn CSV injection | Có |
| Decimal format | Dấu chấm hoặc dấu phẩy cho số thập phân | Dấu chấm |
| Line break format | LF, CRLF, hoặc CR | LF |
Ví dụ output: JavaScript Object NotationTốt nhất cho:
- Ứng dụng web
- API
- NoSQL database
- Xử lý tự động
Tùy chọn:| Tùy chọn | Mô tả | Mặc định |
|---|
| Pretty print | Định dạng với indent | Có |
| Array format | Export dạng mảng object | Có |
| Preserve as strings | Giữ tất cả giá trị dạng chuỗi (hữu ích cho mã ZIP, số điện thoại) | Không |
Ví dụ output:[
{
"id": 1,
"name": "John Doe",
"email": "[email protected]",
"created_at": "2024-01-15T10:30:00Z"
},
{
"id": 2,
"name": "Jane Smith",
"email": "[email protected]",
"created_at": "2024-01-16T14:45:00Z"
}
]
SQL INSERT StatementsTốt nhất cho:
- Di chuyển database
- Sao lưu và khôi phục
- Seeding database
Tùy chọn:| Tùy chọn | Mô tả | Mặc định |
|---|
| Table name | Bảng đích cho INSERT | Bảng gốc |
| Include CREATE | Bao gồm CREATE TABLE | Không |
| Batch size | INSERT mỗi câu lệnh | 500 |
Ví dụ output:INSERT INTO users (id, name, email, created_at) VALUES
(1, 'John Doe', '[email protected]', '2024-01-15 10:30:00'),
(2, 'Jane Smith', '[email protected]', '2024-01-16 14:45:00');
Bảng tính ExcelTốt nhất cho:
- Chia sẻ dữ liệu với người dùng không kỹ thuật
- Excel và ứng dụng bảng tính
- Báo cáo và phân tích kinh doanh
Tùy chọn:| Tùy chọn | Mô tả | Mặc định |
|---|
| Include headers | Tên cột ở hàng đầu (in đậm) | Có |
| NULL as empty | Chuyển giá trị NULL thành ô trống | Có |
Tính năng:
- Export nhiều sheet: Khi export nhiều bảng, mỗi bảng trở thành một worksheet riêng
- Nhận diện số: Số được lưu dạng numeric cell (không phải text) để Excel định dạng đúng
- Shared strings: Loại bỏ chuỗi trùng lặp để giảm kích thước file
- Header in đậm: Hàng đầu tự động in đậm khi bao gồm header
- Hỗ trợ dataset lớn: Tối ưu cho 175K+ hàng sử dụng Data buffer streaming và lắp ráp file trên background thread
- Không phụ thuộc: Sử dụng OOXML writer thuần Swift — không cần thư viện bên ngoài
Export Kết Quả Query
Để export kết quả của query cụ thể:
- Viết và thực thi query
- Click Export khi kết quả được hiển thị
- Chỉ kết quả hiển thị được export
Đối với export lớn, sử dụng phân trang hoặc LIMIT trong query để kiểm soát kích thước export.
Export Toàn Bộ Bảng
Để export tất cả dữ liệu từ bảng:
- Click vào bảng trong sidebar
- Click Export mà không áp dụng bộ lọc nào
- Hoặc chạy
SELECT * FROM table_name và export
Bạn có thể export nhiều bảng cùng lúc bằng cách chọn chúng trong sidebar trước khi click Export. Mỗi bảng có thể có tùy chọn riêng cho cấu trúc (DDL) và dữ liệu.
Export Chỉ Cấu Trúc
Để export chỉ cấu trúc bảng (DDL):
- Mở tab Structure của bảng
- Đi đến tab con DDL
- Sao chép câu lệnh CREATE TABLE
Hoặc sử dụng lệnh cụ thể theo database:
-- MySQL
SHOW CREATE TABLE users;
-- PostgreSQL
pg_dump -s -t users database_name
Dán từ Clipboard (CSV/TSV)
Bạn có thể dán dữ liệu dạng bảng trực tiếp từ clipboard vào bảng dữ liệu. TablePro tự động phát hiện nội dung clipboard là định dạng CSV (phân tách bằng dấu phẩy) hay TSV (phân tách bằng tab).
Cách hoạt động:
- Sao chép dữ liệu từ bảng tính, trình soạn thảo văn bản hoặc nguồn khác
- Chọn một hàng trong bảng dữ liệu
- Nhấn
Cmd+V để dán
TablePro sử dụng trình phân tích CSV tuân thủ RFC 4180, hỗ trợ:
- Trường được trích dẫn có dấu phẩy bên trong (ví dụ:
"New York, NY")
- Dấu ngoặc kép thoát (ví dụ:
"He said ""hello""")
- Giá trị nhiều dòng trong trường được trích dẫn
- Tự động phát hiện hàng tiêu đề (bỏ qua nếu tên cột khớp)
Định dạng được tự động phát hiện dựa trên nội dung: nếu dữ liệu chứa nhiều tab hơn dấu phẩy, nó được phân tích dạng TSV; ngược lại là CSV. Dữ liệu sao chép từ Excel hoặc Google Sheets thường là dạng tab-separated.
Import Dữ Liệu
Tùy Chọn Import
Import dữ liệu vào database:
- Click File > Import (hoặc nút Import)
- Chọn file nguồn
- Cấu hình tùy chọn import
- Xem trước dữ liệu
- Click Import
Định Dạng Import
Import File CSVTùy chọn cấu hình:| Tùy chọn | Mô tả |
|---|
| Delimiter | Ký tự phân tách trường (phẩy, tab, dấu chấm phẩy) |
| Quote character | Ký tự dùng để trích dẫn |
| Escape character | Ký tự để escape dấu ngoặc kép |
| Has header | Hàng đầu tiên chứa tên cột |
| Skip rows | Số hàng bỏ qua ở đầu |
| NULL representation | Chuỗi để hiểu là NULL |
| Encoding | Encoding file (UTF-8, Latin-1, v.v.) |
Đảm bảo encoding CSV của bạn khớp với encoding database để tránh vấn đề ký tự.
Import File JSONĐịnh dạng được hỗ trợ:
- Mảng object (phổ biến nhất)
- Newline-delimited JSON (NDJSON)
Ví dụ input được hỗ trợ:[
{"name": "Product A", "price": 29.99},
{"name": "Product B", "price": 49.99}
]
Tùy chọn cấu hình:| Tùy chọn | Mô tả |
|---|
| Root path | Đường dẫn JSON đến mảng (nếu lồng nhau) |
| Flatten nested | Mở rộng object lồng nhau |
Import File SQLThực thi file SQL chứa:
- Câu lệnh INSERT
- CREATE TABLE + INSERT
- Full database dump
Tùy chọn:| Tùy chọn | Mô tả |
|---|
| Stop on error | Dừng import khi gặp lỗi đầu tiên |
| Transaction | Bao trong transaction |
| Encoding | Encoding file |
File SQL lớn được xử lý theo batch để tiết kiệm bộ nhớ.
Quy Trình Import
Chọn File
Chọn file CSV, JSON hoặc SQL của bạn
Cấu Hình Tùy Chọn
Đặt delimiter, encoding và các tùy chọn khác
Map Cột
Khớp cột file với cột bảng
Xem Trước
Xem lại vài hàng đầu trước khi import
Import
Thực thi import và theo dõi tiến trình
Map Cột
Khi import, bạn có thể map cột nguồn với cột đích:
- Auto-match: Các cột có tên khớp được tự động map
- Manual mapping: Kéo cột hoặc sử dụng dropdown để map
- Skip columns: Bỏ qua các cột bạn không muốn import
- Default values: Đặt giá trị mặc định cho các cột bắt buộc không được map
Chế Độ Import
| Chế độ | Mô tả | Sử dụng khi |
|---|
| Insert | Thêm hàng mới | Import dữ liệu mới |
| Replace | Xóa khớp, chèn mới | Làm mới toàn bộ bảng |
| Update | Cập nhật khớp, chèn mới | Cập nhật tăng dần |
Chế độ Replace xóa dữ liệu hiện có. Luôn sao lưu các bảng quan trọng trước.
Xem Trước Dữ Liệu
Xem Trước Trước Khi Import
Tính năng xem trước hiển thị:
- 100 hàng đầu tiên của dữ liệu
- Loại cột được phát hiện
- Vấn đề phân tích tiềm ẩn
- Xử lý giá trị NULL
Xem Trước Trước Khi Export
Xem những gì sẽ được export:
- Tổng số hàng
- Kích thước file ước tính
- Mẫu dữ liệu
Tiến Trình và Lỗi
Tiến Trình Import
Import lớn hiển thị tiến trình:
- Hàng đã xử lý / tổng số hàng
- Thời gian còn lại ước tính
- Batch hiện tại
Xử Lý Lỗi
Khi lỗi xảy ra trong quá trình import:
| Tùy chọn | Hành vi |
|---|
| Stop on first error | Dừng import ngay lập tức |
| Skip errors | Tiếp tục, ghi log hàng lỗi |
| Rollback on error | Hoàn tác tất cả thay đổi nếu có lỗi |
Chi tiết lỗi bao gồm:
- Số hàng
- Thông báo lỗi
- Dữ liệu có vấn đề
Log Lỗi
Các hàng thất bại được ghi log để xem lại:
Row 45: Data too long for column 'name' at row 1
Row 89: Duplicate entry '[email protected]' for key 'email'
Row 123: Column count doesn't match value count
Nén
TablePro hỗ trợ nén gzip cho cả import và export:
Export Nén
- Bật tùy chọn “Compress with gzip” khi export
- File output nhận phần mở rộng
.gz
- Giảm đáng kể kích thước file cho export lớn
Import Nén
- TablePro tự động phát hiện file
.gz
- Giải nén tức thì trong quá trình import (
FileDecompressor.swift)
- Không cần giải nén thủ công
Thực Hành Tốt Nhất
Export
-
Lọc trước: Chỉ export những gì bạn cần
SELECT * FROM orders WHERE status = 'completed' AND year(created_at) = 2024;
-
Cân nhắc kích thước file: Sử dụng LIMIT cho bảng rất lớn
SELECT * FROM logs ORDER BY created_at DESC LIMIT 100000;
-
Chọn định dạng phù hợp:
- CSV cho công cụ phân tích dữ liệu
- JSON cho API/web
- SQL cho di chuyển database
- XLSX cho chia sẻ với người dùng không kỹ thuật qua Excel
Import
-
Sao lưu trước: Luôn sao lưu trước khi import số lượng lớn
-
Kiểm tra với mẫu: Import vài hàng trước
-- Tạo bảng test
CREATE TABLE users_import_test LIKE users;
-- Import mẫu vào bảng test
-
Xác thực loại dữ liệu: Đảm bảo dữ liệu nguồn khớp với cột đích
-
Sử dụng transaction: Đối với import quan trọng, bật chế độ transaction
-
Tắt index: Đối với import rất lớn, cân nhắc:
-- Tắt key (MySQL)
ALTER TABLE users DISABLE KEYS;
-- Import dữ liệu
ALTER TABLE users ENABLE KEYS;
Khắc Phục Sự Cố
Vấn Đề Export
“File too large”
- Sử dụng LIMIT trong query
- Export theo batch
- Chọn định dạng nhỏ gọn hơn (CSV vs JSON)
“Character encoding issues”
- Xác minh encoding database
- Export với encoding UTF-8
- Kiểm tra ký tự đặc biệt
Vấn Đề Import
“Column count mismatch”
- Kiểm tra thiết lập delimiter
- Xác minh CSV có đúng số cột
- Tìm dấu phẩy không được trích dẫn trong dữ liệu
“Invalid value for type”
- Kiểm tra định dạng ngày khớp với kỳ vọng database
- Xác minh giá trị số không chứa dấu phẩy
- Kiểm tra văn bản trong cột số
“Duplicate key error”
- Dữ liệu chứa bản sao cho cột unique
- Cân nhắc sử dụng chế độ REPLACE
- Xóa bản sao trước khi import
“Foreign key constraint”
- Import bảng cha trước
- Tạm thời tắt kiểm tra foreign key:
SET FOREIGN_KEY_CHECKS=0;
-- Import
SET FOREIGN_KEY_CHECKS=1;
Phím Tắt
| Hành động | Phím tắt |
|---|
| Export | Cmd+Shift+E |
| Import | Cmd+Shift+I |
Các Bước Tiếp Theo