04 – Data editor & giao dịch

↩️ Mục lục · ⬅️ Query console & chạy truy vấn · ➡️ Hỗ trợ viết code & refactor

1. Data editor là gì?

Data editor and viewer (trình xem/sửa dữ liệu dạng lưới) cho phép sắp xếp, lọc, thêm, sửa, xoá dữ liệu. Nó dùng cho 3 nguồn: dữ liệu của đối tượng CSDL (bảng/view), kết quả truy vấn, và file người dùng (CSV, TSV, Excel…).

Cách mở dữ liệu một đối tượng: double-click đối tượng, hoặc chọn rồi F4, hoặc chuột phải → Edit Data.

2. Các chế độ xem (View as)

Chế độMô tả
TableMặc định; mỗi ô là giao của hàng và cột
TreeDạng khoá-giá trị, mở rộng được; phù hợp dữ liệu JSON và mảng
TextHiển thị dạng văn bản theo data extractor đang chọn (ví dụ CSV)
TransposeHoán đổi hàng và cột; kết hợp được với chế độ khác

Công cụ bổ trợ: Record View (xem/sửa một bản ghi ở panel bên), Value Editor (Shift+Enter, sửa nội dung ô lớn), Aggregate View (chọn nhiều ô để xem giá trị tổng hợp; Ctrl+Shift+C copy kết quả SUM mặc định), Show Chart (biểu đồ), Geo Viewer (dữ liệu địa lý).

3. Lọc, sắp xếp, phân trang

  • Sắp xếp: bấm tiêu đề cột. Mặc định mỗi lần sắp xếp DataGrip gửi một truy vấn ORDER BY mới lên CSDL (server-side). Có thể chuyển sang sắp xếp phía client (chỉ sắp trang hiện tại). Sắp xếp/lọc phía server chỉ có cho dữ liệu đối tượng, không có cho tập kết quả truy vấn.
  • Lọc: nhập điều kiện vào ô WHERE, hoặc dùng Filter by, hoặc local filter cho từng cột.
  • Phân trang: số hàng mỗi trang đặt ở Database | Data Editor and Viewer (Limit page size to); chuyển trang bằng Ctrl+Alt+Up/Down.
  • Tìm toàn văn trong CSDL: Ctrl+Alt+Shift+F (Full-Text Search).
  • Related Rows (F4 trên ô): nhảy tới bản ghi liên quan qua khoá ngoại.

Sắp xếp trên bảng lớn

Nếu bảng lớn hoặc đường truyền chậm, tài liệu khuyên cân nhắc tắt Sort via ORDER BY để giảm tương tác với CSDL.

4. Sửa dữ liệu: Submit – Preview – Revert

Thay đổi ban đầu chỉ nằm trong bản sao cục bộ của bảng; phải Submit mới gửi lên CSDL.

Thao tácPhímGhi chú
Thêm hàngAlt+InsertSau đó phải Submit
Xoá hàngCtrl+Y hoặc Alt+Delete
Sửa ôEnterEscape để huỷ
Đặt NULL / DEFAULTCtrl+Alt+N / Ctrl+Alt+D
Preview Pending Changes(nút trên toolbar)Xem script DML sẽ chạy
SubmitCtrl+Enter⚠️ trong data editor là Submit, còn trong console là Execute
Revert SelectedCtrl+Alt+ZPhạm vi theo vùng chọn; không chọn gì thì áp dụng cả bảng

Cẩn thận Ctrl+Enter

Cùng một tổ hợp phím, nhưng ở console là chạy lệnh, ở data editor là gửi thay đổi lên CSDL. Hãy nhìn đang đứng ở cửa sổ nào trước khi bấm.

5. Transaction mode (chế độ giao dịch)

Chọn qua menu Tx trên toolbar data editor, hoặc mặc định ở tab Options của data source (Kết nối cơ sở dữ liệu).

Chế độHành vi
AutoGiao dịch tự commit khi bạn Submit
ManualThay đổi được gom trong một giao dịch; bạn chủ động Submit and Commit (Ctrl+Alt+Shift+Enter) hoặc Roll Back

Danh sách isolation level (mức cô lập giao dịch) phụ thuộc DBMS.

6. Xung đột khi submit

Nếu người khác đã sửa cùng dữ liệu, DataGrip báo xung đột và cho giải quyết bằng three-way merge (hợp nhất 3 chiều): bấm Merge → xem thay đổi cục bộ và thay đổi từ server → Accept/Ignore → Save changes and finish merging.

Bật Warn when editing outdated DDL (tab Options → Introspection) để được cảnh báo khi mã nguồn đối tượng trong cache cũ hơn trên server.

7. So sánh & sao chép dữ liệu

  • Compare Data: so sánh dữ liệu hai đối tượng; có thể quy định số cột được phép khác biệt để coi là bằng nhau, và bỏ qua cột thừa.
  • Copy to Database: sao chép dữ liệu sang bảng/schema/CSDL khác (chọn schema đích → tạo bảng mới; chọn bảng → thêm dữ liệu), kèm cấu hình ánh xạ cột.
  • Export Data: xem Schema, Diagram, Export.

8. Quy trình an toàn khi sửa dữ liệu kế toán

💡 Gợi ý của người biên soạn (tổng hợp từ các tính năng ở trên, không phải quy trình chính thức của JetBrains)

  1. Data source production: bật Read-only; chỉ tắt khi thật sự cần.
  2. Chuyển Manual transaction mode trước khi sửa.
  3. Sửa xong → Preview Pending Changes, đọc kỹ UPDATE/DELETE (có WHERE đúng khoá chưa?).
  4. Submit → kiểm tra lại số liệu → mới Submit and Commit; sai thì Roll Back.
  5. Với sửa hàng loạt, nên viết câu UPDATE trong console và kiểm chứng bằng SELECT cùng điều kiện trước, thay vì sửa tay từng ô.
  6. Nhớ rằng Read-only có giới hạn với console (xem chương 01).

Nguồn