---
title: "Konversi JSON ke SQL"
description: "Konversi file JSON ke SQL untuk PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, atau Oracle di browser Anda. Gratis, dan file Anda tidak pernah diunggah."
canonical: https://intosql.com/id/json-ke-sql
last_updated: 2026-10-15
---

# Konversi JSON ke SQL

Letakkan file JSON Anda dan pilih database untuk mendapatkan skrip SQL dengan pernyataan CREATE TABLE dan INSERT. Setiap kolom diberi tipe, dan setiap perbaikan dicantumkan beserta baris dan kolomnya.

## Satu file JSON, enam database

Contoh di atas, pedidos_2024.json, dan tipe yang didapat setiap kolomnya di setiap database.

| Di file | Nilai pertama | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- | --- |
| pedido | `000481` | `text` | `varchar(8)` | `varchar(8)` | `TEXT` | `nvarchar(8)` | `VARCHAR2(8 CHAR)` |
| cliente | `Peña Muñoz` | `text` | `varchar(16)` | `varchar(16)` | `TEXT` | `nvarchar(16)` | `VARCHAR2(16 CHAR)` |
| fecha | `2024-02-03T10:15:00Z` | `timestamptz` | `datetime` | `datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| total | `1234.5` | `numeric(6,2)` | `decimal(6,2)` | `decimal(6,2)` | `NUMERIC(6,2)` | `decimal(6,2)` | `NUMBER(6,2)` |
| pagado | `true` | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| notas | `` | `text` | `varchar(32)` | `varchar(32)` | `TEXT` | `nvarchar(32)` | `VARCHAR2(32 CHAR)` |

## Muat skrip ke database Anda

Hasil unduhan adalah file .sql biasa. Setiap database menjalankannya dengan alatnya sendiri.

### PostgreSQL

```shell
psql -v ON_ERROR_STOP=1 -d mydb -f pedidos_2024.postgresql.sql
```

ON_ERROR_STOP membuat psql berhenti pada error pertama. Skrip berjalan dalam satu transaksi, jadi pemuatan yang gagal membiarkan database seperti semula. Di pgAdmin atau DBeaver, buka skrip di jendela kueri lalu jalankan.

Tanpa skrip:

```shell
intosql load pedidos_2024.json --into postgres://user@localhost/mydb
```

### MySQL

```shell
mysql --default-character-set=utf8mb4 mydb < pedidos_2024.mysql.sql
```

Skrip mengatur utf8mb4 sendiri; flag ini membuat klien mengirimnya dengan cara yang sama, jadi aksen tiba utuh. Di MySQL Workbench, pilih File, Run SQL Script, lalu pilih file-nya.

Tanpa skrip:

```shell
intosql load pedidos_2024.json --into mysql://user@localhost/mydb
```

### MariaDB

```shell
mariadb --default-character-set=utf8mb4 mydb < pedidos_2024.mariadb.sql
```

Skrip mengatur utf8mb4 sendiri; flag ini membuat klien mengirimnya dengan cara yang sama, jadi aksen tiba utuh. Di HeidiSQL atau DBeaver, buka skrip lalu jalankan.

Tanpa skrip:

```shell
intosql load pedidos_2024.json --into mariadb://user@localhost/mydb
```

### SQLite

```shell
sqlite3 pedidos_2024.db < pedidos_2024.sqlite.sql
```

File database dibuat jika belum ada. Konverter juga mengunduh database .sqlite yang siap pakai, tanpa perintah apa pun. Di DB Browser for SQLite, pilih Execute SQL, buka skrip, lalu jalankan.

Tanpa skrip:

```shell
intosql load pedidos_2024.json --into pedidos_2024.db
```

### SQL Server

```shell
sqlcmd -S localhost -d mydb -f 65001 -i pedidos_2024.sql_server.sql
```

-f 65001 membaca file sebagai UTF-8, jadi aksen dan ñ tiba seperti tertulis. Di SQL Server Management Studio atau Azure Data Studio, buka file lalu pilih Execute.

### Oracle

```shell
sqlplus user@//localhost/mydb @pedidos_2024.oracle.sql
```

Skrip mematikan variabel substitusi (SET DEFINE OFF), jadi tanda & di data Anda tetap menjadi &. Di SQL Developer, buka skrip lalu pilih Run Script (F5).

## Yang dibaca IntoSQL di file JSON

- File dapat berupa array objek, objek yang menyimpan array tersebut di bawah kunci seperti data, atau satu objek per baris (NDJSON).
- Setiap kunci menjadi kolom. Objek dan array di dalam nilai disimpan sebagai teks JSON.
- Angka mempertahankan digit persisnya, dan tanggal ISO 8601 menjadi tanggal atau timestamp.

## Yang perlu diketahui tentang setiap database

- Pilih database setelah file terbuka: masing-masing mendapat tipe yang didukungnya.

### Cara setiap jenis nilai disimpan di setiap database

| Nilai | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Ya dan tidak | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Bilangan bulat | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Bilangan bulat besar | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Desimal | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Bilangan floating-point | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Tanggal | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Jam | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Tanggal dengan jam | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Tanggal dengan jam dan selisih waktu | `timestamptz` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| Teks | `text` | `varchar(n) · text · mediumtext · longtext` | `varchar(n) · text · mediumtext · longtext` | `TEXT` | `nvarchar(n) · nvarchar(max)` | `VARCHAR2(n CHAR) · CLOB` |

## Pertanyaan tentang JSON ke SQL

### Bagaimana cara mengonversi JSON ke SQL?

Letakkan file Anda di konverter di bagian atas halaman ini dan pilih database Anda: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, atau Oracle. Masing-masing mendapat tipe yang didukungnya. Unduh skripnya dan jalankan di database Anda.

### Seperti apa bentuk file JSON yang dibutuhkan?

Array objek, objek yang menyimpan array tersebut di bawah kunci seperti data, atau satu objek per baris (NDJSON). Setiap kunci menjadi kolom.

### Tipe apa yang digunakan di setiap database?

Setiap database mendapat tipenya sendiri: nilai ya dan tidak menjadi boolean di PostgreSQL, tinyint(1) di MySQL dan MariaDB, bit di SQL Server, dan NUMBER(1) di Oracle. Tabel di halaman ini mencantumkan setiap jenis nilai.

### Apakah nol di depan tetap ada?

Ya. Kode seperti 000481 tetap berupa teks di setiap database, ditulis sebagai '000481', jadi tidak ada nol yang hilang.

### Bisakah data dimuat tanpa skrip?

Bisa. Command line memuat ke SQLite secara gratis, dan dengan IntoSQL Pro, aplikasi desktop dan command line memuat ke PostgreSQL, MySQL, dan MariaDB. Untuk SQL Server dan Oracle, jalankan skripnya.

### Seberapa besar file JSON yang bisa dipakai?

NDJSON, satu objek per baris, dibaca sambil dialirkan, jadi file berukuran beberapa gigabyte bisa diproses di browser. Dokumen JSON dibaca utuh, jadi batasnya adalah memori yang diberikan browser untuk halaman ini. Aplikasi desktop dan command line menerima file dengan ukuran berapa pun.

## JSON ke database lain

- [Konversi JSON ke PostgreSQL](https://intosql.com/id/json-ke-postgresql)
- [Konversi JSON ke MySQL](https://intosql.com/id/json-ke-mysql)
- [Konversi JSON ke MariaDB](https://intosql.com/id/json-ke-mariadb)
- [Konversi JSON ke SQLite](https://intosql.com/id/json-ke-sqlite)
- [Konversi JSON ke SQL Server](https://intosql.com/id/json-ke-sql-server)
- [Konversi JSON ke Oracle](https://intosql.com/id/json-ke-oracle)

## File lain ke SQL

- [Konversi Excel ke SQL](https://intosql.com/id/excel-ke-sql)
- [Konversi CSV ke SQL](https://intosql.com/id/csv-ke-sql)
