Konversi Excel ke SQL
Letakkan file Excel 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.
4 baris dikonversi, 10 perbaikan, tidak ada yang ditolak
| Baris | ||||||
|---|---|---|---|---|---|---|
| 5 | 00127 | Peña Muñoz | 01234 | 03/02/2024 | sí | 1.234,50 |
| 6 | 00128 | José Ángel | 09870 | 15/02/2024 | no | N/A |
| 7 | 00129 | Zoë Ortíz | 44100 | 29/02/2024 | sí | -12,00 |
| 8 | 00130 | Ñuño Castañeda | 06700 | 11/03/2024 | no | 980,75 |
-- Written by IntoSQL for PostgreSQL.
SET client_encoding = 'UTF8';
BEGIN;
CREATE TABLE clientes_2024 (
no_cliente text NOT NULL,
nombre text NOT NULL,
c_p text NOT NULL,
alta date NOT NULL,
activo boolean NOT NULL,
saldo numeric(6,2)
);
COMMENT ON COLUMN clientes_2024.no_cliente IS 'Nº Cliente';
COMMENT ON COLUMN clientes_2024.c_p IS 'C.P.';
INSERT INTO clientes_2024 (no_cliente, nombre, c_p, alta, activo, saldo) VALUES
('00127', 'Peña Muñoz', '01234', '2024-02-03', TRUE, 1234.50),
('00128', 'José Ángel', '09870', '2024-02-15', FALSE, NULL),
('00129', 'Zoë Ortíz', '44100', '2024-02-29', TRUE, -12.00),
('00130', 'Ñuño Castañeda', '06700', '2024-03-11', FALSE, 980.75);
COMMIT;
Perbaikan
- Baris judul ada di baris 4; baris di atasnya tidak disertakan.
- Baris 9 ("TOTAL") adalah total, jadi tidak disertakan.
- Kolom "Nº Cliente" kini bernama no_cliente agar PostgreSQL membacanya tanpa tanda kutip.
- Kolom "C.P." kini bernama c_p agar PostgreSQL membacanya tanpa tanda kutip.
- Nol di depan dipertahankan di "Nº Cliente": 00127 tetap 00127, disimpan sebagai teks.
- Nol di depan dipertahankan di "C.P.": 01234 tetap 01234, disimpan sebagai teks.
- 15/02/2024 membuktikan tanggal di "Alta" diawali hari, jadi 03/02/2024 dibaca sebagai 2024‑02‑03.
- "Activo" berisi kata ya dan tidak (sí, no), disimpan sebagai boolean.
- Angka di "Saldo" memakai koma desimal: 1.234,50 dibaca sebagai 1234.50.
- N/A di "Saldo" dibaca sebagai kosong (1 dari 4 nilai).
File Anda dikonversi di komputer ini dan tidak pernah diunggah.
Contoh lain:
Satu file Excel, enam database
Contoh di atas, clientes_2024.xlsx, dan tipe yang didapat setiap kolomnya di setiap database.
| Di file | Nilai pertama | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
|---|---|---|---|---|---|---|---|
| Nº Cliente | 00127 | text | varchar(8) | varchar(8) | TEXT | nvarchar(8) | VARCHAR2(8 CHAR) |
| Nombre | Peña Muñoz | text | varchar(16) | varchar(16) | TEXT | nvarchar(16) | VARCHAR2(16 CHAR) |
| C.P. | 01234 | text | varchar(8) | varchar(8) | TEXT | nvarchar(8) | VARCHAR2(8 CHAR) |
| Alta | 03/02/2024 | date | date | date | DATE | date | DATE |
| Activo | sí | boolean | tinyint(1) | tinyint(1) | BOOLEAN | bit | NUMBER(1) |
| Saldo | 1.234,50 | numeric(6,2) | decimal(6,2) | decimal(6,2) | NUMERIC(6,2) | decimal(6,2) | NUMBER(6,2) |
Muat skrip ke database Anda
Hasil unduhan adalah file .sql biasa. Setiap database menjalankannya dengan alatnya sendiri.
PostgreSQL
psql -v ON_ERROR_STOP=1 -d mydb -f clientes_2024.postgresql.sqlON_ERROR_STOP membuat psql berhenti pada error pertama. Skrip berjalan dalam satu transaksi, jadi pemuatan yang gagal membiarkan database seperti semula.
MySQL
mysql --default-character-set=utf8mb4 mydb < clientes_2024.mysql.sqlSkrip mengatur utf8mb4 sendiri; flag ini membuat klien mengirimnya dengan cara yang sama, jadi aksen tiba utuh.
MariaDB
mariadb --default-character-set=utf8mb4 mydb < clientes_2024.mariadb.sqlSkrip mengatur utf8mb4 sendiri; flag ini membuat klien mengirimnya dengan cara yang sama, jadi aksen tiba utuh.
SQLite
sqlite3 clientes_2024.db < clientes_2024.sqlite.sqlFile database dibuat jika belum ada. Konverter juga mengunduh database .sqlite yang siap pakai, tanpa perintah apa pun.
SQL Server
sqlcmd -S localhost -d mydb -f 65001 -i clientes_2024.sql_server.sql-f 65001 membaca file sebagai UTF-8, jadi aksen dan ñ tiba seperti tertulis.
Oracle
sqlplus user@//localhost/mydb @clientes_2024.oracle.sqlSkrip mematikan variabel substitusi (SET DEFINE OFF), jadi tanda & di data Anda tetap menjadi &.
Command line memuat file langsung ke database SQLite secara gratis. Dengan IntoSQL Pro, command line dan aplikasi desktop juga memuat ke PostgreSQL, MySQL, dan MariaDB. Untuk SQL Server dan Oracle, jalankan skripnya.
Yang perlu diketahui tentang file Excel dan setiap database
Yang dibaca IntoSQL di file Excel
- Baris judul tetap ditemukan meski ada judul atau catatan di atasnya, dan baris total di akhir tidak disertakan.
- Tanggal yang disimpan sebagai nomor seri Excel menjadi tanggal sungguhan, baik dalam sistem tanggal 1900 maupun 1904.
- Kode dengan nol di depan, seperti 00127, tetap menjadi teks. Jika buku kerja memiliki beberapa lembar, Anda memilih lembarnya.
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)textmediumtextlongtext | varchar(n)textmediumtextlongtext | TEXT | nvarchar(n)nvarchar(max) | VARCHAR2(n CHAR)CLOB |
Pertanyaan tentang Excel ke SQL
Tidak terjawab di sini? Tulis ke kami dari halaman kontak, dan seseorang akan membalas. Halaman kontak
Bagaimana cara mengonversi Excel 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.
Lembar mana dari workbook yang dikonversi?
Lembar pertama yang terlihat. Jika workbook memiliki lebih dari satu lembar, opsi Lembar muncul agar Anda bisa memilih yang lain.
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 00127 tetap berupa teks di setiap database, ditulis sebagai '00127', 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 Excel yang bisa dipakai?
Di browser, workbook dibaca utuh, jadi batasnya adalah memori yang diberikan browser untuk halaman ini. Aplikasi desktop dan command line menerima workbook dengan ukuran berapa pun; di laptop Apple M4, command line mengonversi workbook 117 MB berisi satu juta baris dalam sekitar satu detik.