Trong DataGrip, hoặc bất kỳ IDE JetBrains nào khác có hỗ trợ cơ sở dữ liệu, có một công cụ mạnh mẽ để xuất dữ liệu ở nhiều định dạng. Bạn thậm chí có thể tạo định dạng xuất của riêng bạn. Và dựa trên IntelliJ, cùng Pacisoft khám phá những cách xuất dữ liệu với các IDE.
Xem thêm các bài viết về JetBrains
Mua bản quyền JetBrains tại đây
Liên hệ PACISOFT.vn – Nhà cung cấp Jetbrains số 1 Việt Nam – Sales@pacisoft.com
Hướng xuất
Bất kỳ bảng / khung nhìn hoặc tập kết quả có thể được xuất sang tệp hoặc sao chép vào bảng tạm.
Để xuất thành tệp:
– Trình đơn ngữ cảnh trên bảng / dạng xem và → Kết xuất dữ liệu vào tệp .
– Menu ngữ cảnh trên một truy vấn và → Thực thi tệp .
– Trong thanh công cụ của tập kết quả hoặc trình chỉnh sửa dữ liệu , chọn nút kết xuất dữ liệu → Để tập tin
Để xuất sang clipboard:
– Chọn dữ liệu bạn cần trong bộ kết quả hoặc trình chỉnh sửa dữ liệu và nhấn Copy hoặc Ctrl / Cmd + C.
– Trong thanh công cụ của trình chỉnh sửa kết quả hoặc trình chỉnh sửa dữ liệu , chọn nút Kết xuất dữ liệu → Để Clipboard
Trình trích xuất mặc định
Chúng ta sẽ nói về việc sao chép dữ liệu vào bảng tạm từ trình chỉnh sửa dữ liệu, nhưng điều tương tự cũng áp dụng cho các cách được mô tả khác để xuất dữ liệu.
Nhìn sang bên trái của nút dữ liệu kết xuất để thả xuống nơi bạn có thể chọn trình trích xuất – định dạng để xuất dữ liệu.
Có một số định dạng tích hợp như bạn có thể thấy. Một số trong số chúng cho phép bạn xuất dữ liệu dưới dạng một tập hợp các câu lệnh INSERT / UPDATE , trong khi một số khác xuất dữ liệu dưới dạng văn bản như CSV, JSON, HTML, v.v. Để biết thêm chi tiết về cách chúng hoạt động, vui lòng truy cập trang này .
Tuy nhiên, người dùng có thể cần trích xuất dữ liệu theo nhiều cách khác nhau.
Tạo một trình trích xuất dựa trên DSV
Chúng ta hãy xem làm thế nào chúng ta có thể mở rộng chức năng mặc định.
Để tạo định dạng của riêng bạn dựa trên CSV (hoặc bất kỳ định dạng DSV nào), chọn Cấu hình định dạng CSV
Trong hộp thoại này, ngoài việc thay đổi các trình trích xuất CSV và TSV hiện có, bạn có thể tạo riêng của mình. Ví dụ: Đánh dấu Wiki Confluence.
Sau khi tạo, nó xuất hiện trong số các trình trích xuất khác.
Tạo bất kỳ trình trích xuất văn bản nào với kịch bản
Đối với các trường hợp phức tạp hơn, hãy xem xét sử dụng các trình trích xuất tập lệnh. Một số trong số họ đã có sẵn như CSV-Groovy.csv.groovy , HTML-Groove.html . Groovy , và những người khác. Các tập lệnh này được viết bằng Groovy, nhưng chúng cũng có thể được viết bằng JavaScript. Ví dụ của chúng tôi sử dụng Groovy.
Nhìn kỹ vào tên tệp , CSV-Groovy.csv.groovy:
CSV-Groovy chỉ là tên của tập lệnh; csv là phần mở rộng của tệp kết quả nếu bạn trích xuất thành tệp; Groovy là phần mở rộng của chính kịch bản. Nó giúp IntelliJ IDEA làm nổi bật mã của bạn nếu đó là nơi bạn tạo / chỉnh sửa tập lệnh của mình.
Các kịch bản thường được đặt trong Scratches and Consoles/Extensions/Database Tools and SQL/data/extractors
. Hoặc bạn có thể chọn Chuyển đến thư mục script trong menu trích xuất để điều hướng đến đó.
Bạn nên chỉnh sửa một trình trích xuất hiện có hoặc chỉ cần thêm riêng của bạn vào thư mục này.
Hãy tạo một trình trích xuất để chuyển dữ liệu của bạn sang định dạng CSV, nhưng chỉ một hàng. Nó có thể hữu ích nếu bạn định dán các giá trị này vào toán tử IN trong mệnh đề WHERE .
Đây là chế độ xem khác nhau của hai tập lệnh: CSV-Groovy.csv.groovy hiện tại và tập lệnh mới của chúng tôi sẽ đặt tên là CSV-ToOneRow-Groovy.csv.groovy .
Lưu ý các ràng buộc bối cảnh có sẵn:
1
2
|
COLUMNS <DataColumn> //selected columns
ALL_COLUMNS List<DataColumn> //all columns
|
Các đối tượng này bằng nhau khi đổ toàn bộ trang vào tập tin.
1
|
ROWS Iterable<DataRow> //selected rows
|
Ở đâu:
1
2
|
DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
DataColumn { columnNumber(); name() }
|
1
2
3
4
|
OUT {append()} //object to output data
FORMATTER {format(row, col); formatValue(Object, col)} //converts data to String
TRANSPOSED Boolean //checks if data editor is transposed (Gear Icon → Transpose)
TABLE DasTable //object that represents the actual table you’re extracting data from
|
DasTable có hai phương thức quan trọng:
Trước v2017.3
1
2
|
DasObject getDbParent()
JBIterable<DasObject> getDbChildren(Class, ObjectKind)
|
Kể từ v2017.3
1
2
|
DasObject getDasParent()
JBIterable<DasObject> getDasChildren(ObjectKind)
|
Thông tin bổ sung về API có thể được tìm thấy ở đây .
Khi bạn tạo hoặc chỉnh sửa tập lệnh Groovy trong IntelliJ IDEA và đã cài đặt Groovy, hỗ trợ mã hóa có sẵn.
Khi tệp tập lệnh mới có trong thư mục, bạn có thể sử dụng trình trích xuất!
Sao chép các giá trị này và dán chúng vào truy vấn.
Đây là một ví dụ khác dựa trên SQL-Chèn-Statements.sql.groovy. MySQL và PostgreSQL cho phép sử dụng cú pháp nhiều hàng. Để sử dụng loại trình trích xuất này, hãy tạo tệp SQL-Inserts-MultirowSynthax.sql.groovy mới trong thư mục tập lệnh.
Một lần nữa, chỉ cần chọn nó trong menu.
Kết quả:
Một phiên bản khác của trình trích xuất này từ người dùng của chúng tôi có ở đây và cũng thêm dấu ngoặc đơn. Nó tạo ra một số danh sách nếu bạn đã chọn các ô từ một số cột.
Đã có một số trình trích xuất do người dùng tạo trên GitHub mà mọi người đều có thể sử dụng:
- Trình trích xuất để sao chép các kết quả truy vấn được phân tách bằng tab để dán vào Excel bằng dấu tách thập phân dấu phẩy.
- DBunit XML.
- Tập tin Txt với các cột có chiều dài cố định. (Đây là một cái rất giống nhau).
- Mảng php.
- Markdown.
- Jira.
Chúng tôi hy vọng hướng dẫn này sẽ giúp bạn điều chỉnh DataGrip theo nhu cầu cụ thể của bạn và khuyến khích bạn chia sẻ các trình trích xuất cho tất cả mọi người sử dụng.
Theo Jetbrains.