Bản sao lưu SQL (.sql)
ISO/IEC Tiêu chuẩnStructured Query Language Script (SQL) là định dạng cơ sở dữ liệu quan hệ phổ quát chứa các câu lệnh DDL khai báo để cấu trúc các bảng cơ sở dữ liệu và các câu lệnh DML INSERT để điền dữ liệu.
Chuyển đổi SQLITE sang SQL
Trình chuyển đổi từ SQLITE sang SQL miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.
Kiểm tra & Siêu dữ liệu
Các hệ điều hành và trình phân tích tệp nhận dạng tệp SQL bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
Chữ ký tiêu đề ở cấp độ Byte (Magic Bytes)
Các hệ điều hành và trình phân tích tệp nhận dạng tệp SQL bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
CHỮ KÝ HEX (OFFSET 0):
2D 2D 20 / 43 52 45 41 54 45BIỂU DIỄN ASCII: -- / CREATE
Tiêu chuẩn hóa: ISO/IEC 9075:2023 / ANSI SQL Standard
Thông số kỹ thuật
| Kiến trúc Container | Unicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements |
| Nén | Uncompressed plaintext (frequently compressed as .sql.gz or .sql.zst) |
| Thứ tự byte Endianness | UTF-8 / Unicode text stream |
| Không gian màu | N/A (Database Script) |
| Kênh & Cấu trúc | Relational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows |
| Kích thước tối đa | Unbounded text length (supports multi-terabyte database dumps) |
| Độ trong suốt | None |
| Truyền phát & Tăng dần | Statement-by-statement transactional streaming execution |
Ma trận so sánh kỹ thuật: SQL so với các đối thủ
| Thuộc tính kỹ thuật | SQL (Hiện tại) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| Bảo tồn lược đồ | Lược đồ hoàn chỉnh (bảng, kiểu dữ liệu, khóa ngoại) | Chỉ tên cột tiêu đề | Cấu trúc tài liệu tự mô tả | Tệp cơ sở dữ liệu nhị phân hoàn chỉnh |
| Mô hình thực thi | Tập lệnh DDL/DML có thể thực thi | Dữ liệu hàng-cột thụ động | Cây tài liệu thụ động | Truy vấn B-tree nhị phân trực tiếp |
| Tiêu chuẩn hóa | Tiêu chuẩn ISO/IEC 9075 | RFC 4180 | RFC 8259 | Định dạng tệp mở SQLite |
| Mối quan hệ dữ liệu | Ràng buộc khóa ngoại đầy đủ | Dạng bảng phẳng (không có mối quan hệ) | Đối tượng cha-con lồng nhau | Ràng buộc quan hệ đầy đủ |
Các chế độ hỏng hóc phổ biến & Hướng dẫn khôi phục Hex
Việc nhập cơ sở dữ liệu thất bại với thông báo 'ERROR: syntax error at or near...'.
Nguyên nhân gốc rễ: Không khớp phương ngữ SQL (ví dụ: nhập bản kết xuất dấu ngoặc ngược MySQL vào PostgreSQL) hoặc dấu nháy đơn chưa được thoát.
Khắc phục: Chuyển đổi và làm sạch cú pháp phương ngữ bằng File2File Database Transpiler.
Phân tích bảo mật & Các vectơ tấn công bộ phân tích cú pháp
Thực thi các tập lệnh SQL không đáng tin cậy có thể gây ra lỗi tiêm nhiễm SQL thảm khốc, ghi tệp tùy ý hoặc leo thang đặc quyền quản trị.
Các Véc-tơ Tấn công Đã biết
- Tiêm nhiễm SQL (SQLi) thực thi các lệnh quản trị ngoài ý muốn (ví dụ: DROP TABLE, GRANT ALL).
- Đọc/ghi tệp máy chủ tùy ý thông qua 'COPY ... FROM PROGRAM' hoặc 'LOAD DATA INFILE'.
- Từ chối dịch vụ thông qua các biểu thức bảng chung đệ quy chưa được lập chỉ mục (CTE).
Thực tiễn Tốt nhất về Phòng thủ:
Nguồn gốc lịch sử & Các cột mốc
Ưu điểm & Lợi ích chính
- Tiêu chuẩn toàn cầu không thể bàn cãi cho việc lưu trữ dữ liệu doanh nghiệp: tương thích với PostgreSQL, MySQL, SQLite, Oracle và SQL Server.
- Độ trung thực quan hệ hoàn chỉnh: tái tạo các bảng, khóa chính, khóa ngoại, các ràng buộc và chỉ mục cùng với dữ liệu.
- Thực thi giao dịch: các câu lệnh có thể được chạy bên trong các giao dịch (BEGIN...COMMIT) để đảm bảo khôi phục cơ sở dữ liệu nguyên tử.
Hạn chế & Nhược điểm kỹ thuật
- Không tương thích phương ngữ: sự khác biệt cú pháp tinh tế (ví dụ: AUTO_INCREMENT so với SERIAL so với AUTOINCREMENT) đòi hỏi phải dịch giữa các công cụ cơ sở dữ liệu.
- Chi phí văn bản khổng lồ: các câu lệnh INSERT SQL thuần túy chiếm dung lượng lớn hơn đáng kể so với lưu trữ cơ sở dữ liệu nhị phân.
- Thời gian nhập chậm trên các bản kết xuất cơ sở dữ liệu đa gigabyte khổng lồ mà không tắt việc xây dựng lại chỉ mục.
Thông tin kỹ thuật thú vị
- SQL ban đầu được đặt tên là 'SEQUEL' (Structured English Query Language), nhưng được rút gọn thành SQL do tranh chấp nhãn hiệu với công ty máy bay Hawker Siddeley.
- Tiêu chuẩn ISO chính thức phát âm nó bằng các chữ cái riêng lẻ 'S-Q-L', nhưng hàng triệu nhà phát triển phát âm nó một cách thông tục là 'sequel'.
- SQLite, chạy trên cú pháp SQL, ước tính được cài đặt trên hơn 1 nghìn tỷ thiết bị trên toàn thế giới.
Các câu hỏi kỹ thuật thường gặp
Tệp .sql là gì?
Tệp .sql là một tập lệnh văn bản thuần túy chứa các lệnh SQL dùng để tạo bảng, thiết lập mối quan hệ và chèn các hàng dữ liệu vào cơ sở dữ liệu quan hệ.
Tôi có thể chuyển đổi các tệp kết xuất (dump) SQL sang CSV hoặc JSON không?
Có. File2File.app có thể phân tích cú pháp các tệp kết xuất cơ sở dữ liệu .sql và xuất các bảng trực tiếp thành tệp bảng tính CSV gọn gàng hoặc tài liệu JSON có cấu trúc.
Tại sao tệp .sql của MySQL không hoạt động trong PostgreSQL?
Các hệ thống cơ sở dữ liệu khác nhau có các điểm khác biệt về phương ngữ riêng (chẳng hạn như kiểu dữ liệu và cách thoát dấu nháy). Bạn phải chuyển mã cú pháp đặc thù của từng hệ quản trị khi di chuyển giữa các công cụ cơ sở dữ liệu.
Các cặp chuyển đổi SQL liên quan
Việc chuyển đổi tệp Cơ sở dữ liệu SQLite sang một tập lệnh văn bản Bản kết xuất SQL giúp biến một cơ sở dữ liệu nhị phân thành các lệnh văn bản có thể đọc được để dễ dàng di chuyển cơ sở dữ liệu và nhập vào máy chủ.
Việc chuyển đổi tập lệnh văn bản kết xuất SQL thành dữ liệu xuất JSON biến các bảng cơ sở dữ liệu quan hệ cứng nhắc thành các đối tượng lồng nhau linh hoạt cho các ứng dụng web hiện đại.
Chuyển đổi các tập lệnh sao lưu cơ sở dữ liệu quan hệ thành bảng tính dạng phẳng để phân tích dữ liệu và lập báo cáo đơn giản.
Việc chuyển đổi bản sao lưu cơ sở dữ liệu nhị phân thành tập lệnh SQL dạng văn bản thuần túy giúp bạn di chuyển các bảng và dữ liệu cơ sở dữ liệu qua các hệ thống cơ sở dữ liệu hoàn toàn khác nhau.
Việc chuyển đổi một tập lệnh SQL dạng văn bản thuần túy chưa nén thành tệp sao lưu cơ sở dữ liệu gốc được tối ưu hóa giúp giảm kích thước lưu trữ và tăng tốc thời gian khôi phục máy chủ.