Langsung ke konten

Konversi CSV ke Oracle

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

File Anda
csvventas_2024.csvFile contoh, 357 B
Database Anda

5 baris dikonversi, 8 perbaikan, tidak ada yang ditolak

Tampilkan
Baris pertama ventas_2024.csv, dengan setiap perbaikan ditandai
Baris
500412Peña MuñozMérida15/02/20241.234,50sí
600413José Ángel RuizLeón03/02/202499,90no
700414Zoë OrtízQuerétaro29/02/2024N/Así
800415Ñuño CastañedaOaxaca28/02/20247,25no
900416Iñaki OlaizolaMazatlán11/03/2024980,75sí
-- Written by IntoSQL for Oracle.

SET DEFINE OFF

CREATE TABLE ventas_2024 (
    folio VARCHAR2(8 CHAR) NOT NULL,
    cliente VARCHAR2(16 CHAR) NOT NULL,
    ciudad VARCHAR2(16 CHAR) NOT NULL,
    fecha DATE NOT NULL,
    importe NUMBER(6,2),
    pagado NUMBER(1) NOT NULL
);

INSERT ALL
    INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES ('00412', 'Peña Muñoz', 'Mérida', DATE '2024-02-15', 1234.50, 1)
    INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES ('00413', 'José Ángel Ruiz', 'León', DATE '2024-02-03', 99.90, 0)
    INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES ('00414', 'Zoë Ortíz', 'Querétaro', DATE '2024-02-29', NULL, 1)
    INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES ('00415', 'Ñuño Castañeda', 'Oaxaca', DATE '2024-02-28', 7.25, 0)
    INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES ('00416', 'Iñaki Olaizola', 'Mazatlán', DATE '2024-03-11', 980.75, 1)
SELECT 1 FROM DUAL;

COMMIT;

Perbaikan

  1. File ditulis dalam windows‑1252; file itu dikonversi ke UTF-8.
  2. Baris judul ada di baris 4; baris di atasnya tidak disertakan.
  3. Baris 10 ("TOTAL") adalah total, jadi tidak disertakan.
  4. Nol di depan dipertahankan di "Folio": 00412 tetap 00412, disimpan sebagai teks.
  5. 15/02/2024 membuktikan tanggal di "Fecha" diawali hari, jadi 03/02/2024 dibaca sebagai 2024‑02‑03.
  6. Angka di "Importe" memakai koma desimal: 1.234,50 dibaca sebagai 1234.50.
  7. N/A di "Importe" dibaca sebagai kosong (1 dari 5 nilai).
  8. "Pagado" berisi kata ya dan tidak (sí, no), disimpan sebagai boolean.

File Anda dikonversi di komputer ini dan tidak pernah diunggah.

Contoh lain:

Dari CSV ke Oracle, kolom demi kolom

Contoh di atas, ventas_2024.csv, seperti yang ditulis IntoSQL untuk Oracle: isi setiap kolom di file, tipe yang didapatnya, dan bagaimana nilai pertamanya ditulis di skrip.

Di fileNilai pertamaKolomTipe OracleDi skrip
Folio00412folioVARCHAR2(8 CHAR)'00412'
ClientePeña MuñozclienteVARCHAR2(16 CHAR)'Peña Muñoz'
CiudadMéridaciudadVARCHAR2(16 CHAR)'Mérida'
Fecha15/02/2024fechaDATEDATE '2024-02-15'
Importe1.234,50importeNUMBER(6,2)1234.50
PagadosípagadoNUMBER(1)1

Muat skrip ke Oracle

Hasil unduhan adalah file .sql biasa. Jalankan dengan alat bawaan Oracle.

Dari terminal

sqlplus user@//localhost/mydb @ventas_2024.oracle.sql

Skrip mematikan variabel substitusi (SET DEFINE OFF), jadi tanda & di data Anda tetap menjadi &.

Dari alat database

Di SQL Developer, buka skrip lalu pilih Run Script (F5).

Yang perlu diketahui tentang file CSV dan Oracle

Yang dibaca IntoSQL di file CSV

  • Pengodean terdeteksi, termasuk Windows-1252 dan UTF-16, sehingga aksen dan ñ tiba utuh.
  • Pemisah terdeteksi: koma, titik koma, tab, atau garis tegak. Dengan titik koma, koma desimal seperti 1.234,50 dibaca sebagai angka.
  • Nilai dalam tanda kutip dapat berisi pemisah dan baris baru.

Yang perlu diketahui tentang Oracle

  • Nilai ya dan tidak menjadi NUMBER(1) yang berisi 1 atau 0, yang diterima semua versi Oracle.
  • Teks menjadi VARCHAR2 dengan panjang dalam karakter; di atas 4000 byte menjadi CLOB. Oracle menyimpan teks kosong sebagai NULL.
  • Baris disisipkan dengan INSERT ALL, dan nilai panjang dipecah agar SQL*Plus menerimanya.

Cara setiap jenis nilai disimpan di Oracle

NilaiOracle
Ya dan tidakNUMBER(1)
Bilangan bulatNUMBER(10)
Bilangan bulat besarNUMBER(19)
DesimalNUMBER(p,s)
Bilangan floating-pointBINARY_DOUBLE
TanggalDATE
JamINTERVAL DAY(0) TO SECOND
Tanggal dengan jamTIMESTAMP
Tanggal dengan jam dan selisih waktuTIMESTAMP WITH TIME ZONE
TeksVARCHAR2(n CHAR)CLOB

Pertanyaan tentang CSV ke Oracle

Tidak terjawab di sini? Tulis ke kami dari halaman kontak, dan seseorang akan membalas. Halaman kontak

Bagaimana cara mengonversi CSV ke Oracle?

Letakkan file Anda di konverter di bagian atas halaman ini. Konverter menemukan baris judul, membaca setiap nilai, dan menulis skrip Oracle, dengan mencantumkan setiap perbaikan yang dibuat. Unduh skripnya dan jalankan dengan SQL*Plus.

Bagaimana jika CSV saya memakai titik koma atau tab?

Pemisah dideteksi: koma, titik koma, tab, atau garis tegak. Anda juga bisa mengaturnya di Opsi lainnya. Dengan titik koma, koma desimal seperti 1.234,50 dibaca sebagai angka.

Tipe Oracle apa saja yang digunakan?

Nilai ya dan tidak menjadi NUMBER(1), bilangan bulat NUMBER(10), desimal NUMBER(p,s), tanggal DATE, tanggal dengan waktu TIMESTAMP, dan teks VARCHAR2(n CHAR). Ukuran diambil dari nilai terpanjang di setiap kolom.

Apakah nol di depan tetap ada di Oracle?

Ya. Kode seperti 00412 tetap berupa teks, jadi Oracle menyimpannya sebagai VARCHAR2(8 CHAR) dan skrip menuliskannya sebagai '00412'.

Bisakah data dimuat ke Oracle tanpa skrip?

Tidak. Unduh skripnya dan jalankan dengan SQL*Plus. Pemuatan tanpa skrip tersedia untuk PostgreSQL, MySQL, MariaDB, dan SQLite, dari aplikasi desktop atau command line.

Seberapa besar file CSV yang bisa dipakai?

Browser membaca CSV sambil dialirkan, jadi file berukuran beberapa gigabyte bisa diproses. Di laptop Apple M4, command line mengonversi CSV 174 MB berisi satu juta baris dalam waktu kurang dari satu detik.