Konversi Excel ke MySQL
Letakkan file Excel Anda untuk mendapatkan skrip MySQL 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 MySQL.
SET NAMES utf8mb4;
SET SESSION sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');
START TRANSACTION;
CREATE TABLE clientes_2024 (
no_cliente varchar(8) NOT NULL COMMENT 'Nº Cliente',
nombre varchar(16) NOT NULL,
c_p varchar(8) NOT NULL COMMENT 'C.P.',
alta date NOT NULL,
activo tinyint(1) NOT NULL,
saldo decimal(6,2)
) DEFAULT CHARSET=utf8mb4;
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 MySQL membacanya tanpa tanda kutip.
- Kolom "C.P." kini bernama c_p agar MySQL 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:
Dari Excel ke MySQL, kolom demi kolom
Contoh di atas, clientes_2024.xlsx, seperti yang ditulis IntoSQL untuk MySQL: isi setiap kolom di file, tipe yang didapatnya, dan bagaimana nilai pertamanya ditulis di skrip.
| Di file | Nilai pertama | Kolom | Tipe MySQL | Di skrip |
|---|---|---|---|---|
| Nº Cliente | 00127 | no_cliente | varchar(8) | '00127' |
| Nombre | Peña Muñoz | nombre | varchar(16) | 'Peña Muñoz' |
| C.P. | 01234 | c_p | varchar(8) | '01234' |
| Alta | 03/02/2024 | alta | date | '2024-02-03' |
| Activo | sí | activo | tinyint(1) | TRUE |
| Saldo | 1.234,50 | saldo | decimal(6,2) | 1234.50 |
Muat skrip ke MySQL
Hasil unduhan adalah file .sql biasa. Jalankan dengan alat bawaan MySQL.
Dari terminal
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.
Dari alat database
Di MySQL Workbench, pilih File, Run SQL Script, lalu pilih file-nya.
Tanpa skripPro
IntoSQL Pro memuat file langsung ke MySQL dari aplikasi desktop atau command line, tanpa menulis skrip.
intosql load clientes_2024.xlsx --into mysql://user@localhost/mydbYang perlu diketahui tentang file Excel dan MySQL
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 MySQL
- Nilai ya dan tidak menjadi tinyint(1). Teks hingga 255 karakter menjadi varchar; teks yang lebih panjang menjadi text, mediumtext, atau longtext sesuai ukurannya.
- Skrip memakai utf8mb4 dan mengatur mode SQL, sehingga aksen, emoji, garis miring terbalik, dan baris baru dimuat sesuai tulisan aslinya.
- Tipe datetime di MySQL tidak menyimpan zona waktu.
Cara setiap jenis nilai disimpan di MySQL
| Nilai | MySQL |
|---|---|
| Ya dan tidak | tinyint(1) |
| Bilangan bulat | int |
| Bilangan bulat besar | bigint |
| Desimal | decimal(p,s)double |
| Bilangan floating-point | double |
| Tanggal | date |
| Jam | time(6)time |
| Tanggal dengan jam | datetime(6)datetime |
| Tanggal dengan jam dan selisih waktu | datetime(6)datetime |
| Teks | varchar(n)textmediumtextlongtext |
Pertanyaan tentang Excel ke MySQL
Tidak terjawab di sini? Tulis ke kami dari halaman kontak, dan seseorang akan membalas. Halaman kontak
Bagaimana cara mengonversi Excel ke MySQL?
Letakkan file Anda di konverter di bagian atas halaman ini. Konverter menemukan baris judul, membaca setiap nilai, dan menulis skrip MySQL, dengan mencantumkan setiap perbaikan yang dibuat. Unduh skripnya dan jalankan dengan the mysql client.
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 MySQL apa saja yang digunakan?
Nilai ya dan tidak menjadi tinyint(1), bilangan bulat int, desimal decimal(p,s), tanggal date, tanggal dengan waktu datetime(6), dan teks varchar(n). Ukuran diambil dari nilai terpanjang di setiap kolom.
Apakah nol di depan tetap ada di MySQL?
Ya. Kode seperti 00127 tetap berupa teks, jadi MySQL menyimpannya sebagai varchar(8) dan skrip menuliskannya sebagai '00127'.
Bisakah data dimuat ke MySQL tanpa skrip?
Bisa, dengan IntoSQL Pro. Aplikasi desktop dan command line terhubung ke MySQL dan memuat baris langsung, setelah membuat tabelnya terlebih dahulu.
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.