Chuyển đến nội dung

Chuyển JSON sang SQLite

Thả tệp JSON để nhận tập lệnh SQLite với câu lệnh CREATE TABLE và INSERT. Mỗi cột được gán kiểu, và mọi bản sửa đều được liệt kê kèm hàng và cột.

Tệp của bạn
jsonpedidos_2024.jsonTệp mẫu, 771 B
Cơ sở dữ liệu của bạn

Đã chuyển đổi 4 hàng, 2 bản sửa, không hàng nào bị từ chối

Hiển thị
Những hàng đầu tiên của pedidos_2024.json, mỗi bản sửa đều được đánh dấu
Hàng
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75síFactura con "RFC"
-- Written by IntoSQL for SQLite.

BEGIN;

CREATE TABLE pedidos_2024 (
    pedido TEXT NOT NULL,
    cliente TEXT NOT NULL,
    fecha DATETIME NOT NULL,
    total NUMERIC(6,2) NOT NULL,
    pagado BOOLEAN NOT NULL,
    notas TEXT
);

INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00+00:00', 1234.5, 1, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00+00:00', 99.9, 0, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00+00:00', 12, 1, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00+00:00', 980.75, 1, 'Factura con "RFC"');

COMMIT;

Bản sửa

  1. Giữ số 0 ở đầu trong "pedido": 000481 vẫn là 000481, lưu dưới dạng văn bản.
  2. "pagado" chứa các từ có và không (sí), lưu dưới dạng boolean.

Tệp được chuyển đổi ngay trên máy tính này và không bao giờ được tải lên.

Mẫu khác:

Từ JSON sang SQLite, từng cột một

Tệp mẫu ở trên, pedidos_2024.json, khi IntoSQL viết cho SQLite: mỗi cột chứa gì trong tệp, kiểu dữ liệu nhận được và giá trị đầu tiên xuất hiện thế nào trong tập lệnh.

Trong tệpGiá trị đầu tiênCộtKiểu SQLiteTrong tập lệnh
pedido000481pedidoTEXT'000481'
clientePeña MuñozclienteTEXT'Peña Muñoz'
fecha2024-02-03T10:15:00ZfechaDATETIME'2024-02-03 10:15:00+00:00'
total1234.5totalNUMERIC(6,2)1234.5
pagadotruepagadoBOOLEAN1
notas-notasTEXTNULL

Nạp tập lệnh vào SQLite

Tệp tải xuống là một tệp .sql thông thường. Chạy nó bằng công cụ riêng của SQLite.

Từ terminal

sqlite3 pedidos_2024.db < pedidos_2024.sqlite.sql

Tệp cơ sở dữ liệu được tạo nếu chưa có. Trình chuyển đổi cũng tải xuống sẵn một cơ sở dữ liệu .sqlite, không cần lệnh nào.

Từ công cụ cơ sở dữ liệu

Trong DB Browser for SQLite, chọn Execute SQL, mở tập lệnh và chạy.

Không cần tập lệnh

Dòng lệnh nạp tệp thẳng vào cơ sở dữ liệu SQLite, không cần tạo tập lệnh. Hoàn toàn miễn phí.

intosql load pedidos_2024.json --into pedidos_2024.db

Những điều cần biết về tệp JSON và SQLite

IntoSQL đọc gì trong tệp JSON

  • Tệp có thể là một mảng đối tượng, một đối tượng chứa mảng đó dưới một khóa như data, hoặc mỗi dòng một đối tượng (NDJSON).
  • Mỗi khóa trở thành một cột. Đối tượng và mảng bên trong một giá trị được giữ dưới dạng văn bản JSON.
  • Số giữ nguyên từng chữ số, và ngày ISO 8601 trở thành ngày hoặc dấu thời gian.

Những điều cần biết về SQLite

  • Mỗi cột nhận kiểu mà giá trị của nó cần, như INTEGER, NUMERIC, TEXT, DATE hoặc BOOLEAN; có và không được lưu là 1 và 0.
  • Số thập phân có hơn 15 chữ số vẫn là TEXT, nên không chữ số nào bị mất do làm tròn.
  • Tải xuống tập lệnh SQLite, hoặc một cơ sở dữ liệu .sqlite sẵn dùng được tạo ngay trong trình duyệt.

Cách mỗi loại giá trị được lưu trong SQLite

Giá trịSQLite
Có và khôngBOOLEAN
Số nguyênINTEGER
Số nguyên lớnINTEGER
Số thập phânNUMERIC(p,s)TEXT
Số dấu phẩy độngREAL
NgàyDATE
Giờ trong ngàyTIME
Ngày kèm giờDATETIME
Ngày kèm giờ và độ lệch múi giờDATETIME
Văn bảnTEXT

Câu hỏi về JSON sang SQLite

Chưa có câu trả lời ở đây? Hãy viết cho chúng tôi từ trang liên hệ, sẽ có người trả lời. Trang liên hệ

Làm sao để chuyển JSON sang SQLite?

Thả tệp vào trình chuyển đổi ở đầu trang này. Nó tìm tiêu đề, đọc mọi giá trị và viết tập lệnh SQLite, kèm danh sách từng bản sửa. Tải tập lệnh xuống và chạy bằng sqlite3.

Tệp JSON cần có cấu trúc thế nào?

Một mảng đối tượng, một đối tượng chứa mảng đó dưới một khóa như data, hoặc mỗi dòng một đối tượng (NDJSON). Mỗi khóa trở thành một cột.

Nó dùng những kiểu SQLite nào?

Giá trị có/không thành BOOLEAN, số nguyên thành INTEGER, số thập phân thành NUMERIC(p,s), ngày thành DATE, ngày kèm giờ thành DATETIME và văn bản thành TEXT. Kích thước lấy theo giá trị dài nhất trong mỗi cột.

Số 0 ở đầu có được giữ trong SQLite không?

Có. Một mã như 000481 vẫn là văn bản, nên SQLite lưu nó dưới dạng TEXT và tập lệnh viết nó là '000481'.

Có thể nạp dữ liệu vào SQLite mà không cần tập lệnh không?

Có, miễn phí: intosql load tạo tệp cơ sở dữ liệu SQLite và nạp các hàng vào. Trình chuyển đổi trên trang này cũng tải xuống sẵn một cơ sở dữ liệu .sqlite.

Tệp JSON có thể lớn đến đâu?

NDJSON, mỗi dòng một đối tượng, được đọc theo luồng, nên tệp vài gigabyte vẫn chạy được trong trình duyệt. Tài liệu JSON được đọc toàn bộ, nên giới hạn là bộ nhớ trình duyệt cấp cho trang này. Ứng dụng máy tính và dòng lệnh nhận tệp ở mọi kích thước.