Przejdź do treści

Konwersja Excel do MariaDB

Upuść plik Excel, aby dostać skrypt MariaDB z instrukcjami CREATE TABLE i INSERT. Każda kolumna dostaje typ, a każda poprawka jest wymieniona z wierszem i kolumną.

Twój plik
xlsxclientes_2024.xlsxPlik przykładowy, 7 kB
Twoja baza danych

4 wiersze przekonwertowane, 10 poprawek, brak odrzuconych

Pokaż
Pierwsze wiersze pliku clientes_2024.xlsx, z zaznaczoną każdą poprawką
Wiersz
500127Peña Muñoz0123403/02/2024sí1.234,50
600128José Ángel0987015/02/2024noN/A
700129Zoë Ortíz4410029/02/2024sí-12,00
800130Ñuño Castañeda0670011/03/2024no980,75
-- Written by IntoSQL for MariaDB.

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;

Poprawki

  1. Nagłówek jest w wierszu 4; wiersze nad nim pominięto.
  2. Wiersz 9 ("TOTAL") to suma, więc go pominięto.
  3. Kolumna "Nº Cliente" nazywa się teraz no_cliente, aby MariaDB czytał ją bez cudzysłowów.
  4. Kolumna "C.P." nazywa się teraz c_p, aby MariaDB czytał ją bez cudzysłowów.
  5. Zachowano zera wiodące w "Nº Cliente": 00127 pozostaje 00127, zapisane jako tekst.
  6. Zachowano zera wiodące w "C.P.": 01234 pozostaje 01234, zapisane jako tekst.
  7. 15/02/2024 dowodzi, że daty w "Alta" zaczynają się od dnia, więc 03/02/2024 jest odczytywane jako 2024‑02‑03.
  8. "Activo" zawiera słowa tak i nie (sí, no), zapisane jako wartości logiczne.
  9. Liczby w "Saldo" mają przecinek dziesiętny: 1.234,50 jest odczytywane jako 1234.50.
  10. N/A w "Saldo" odczytano jako puste (1 z 4 wartości).

Plik jest konwertowany na tym komputerze i nigdy nie jest wysyłany.

Inne przykłady:

Z Excel do MariaDB, kolumna po kolumnie

Przykład powyżej, clientes_2024.xlsx, tak jak IntoSQL zapisuje go dla MariaDB: co zawiera każda kolumna w pliku, jaki dostaje typ i jak jej pierwsza wartość trafia do skryptu.

W plikuPierwsza wartośćKolumnaTyp w MariaDBW skrypcie
Nº Cliente00127no_clientevarchar(8)'00127'
NombrePeña Muñoznombrevarchar(16)'Peña Muñoz'
C.P.01234c_pvarchar(8)'01234'
Alta03/02/2024altadate'2024-02-03'
Activosíactivotinyint(1)TRUE
Saldo1.234,50saldodecimal(6,2)1234.50

Załaduj skrypt do MariaDB

Pobierasz zwykły plik .sql. Uruchom go narzędziami MariaDB.

Z terminala

mariadb --default-character-set=utf8mb4 mydb < clientes_2024.mariadb.sql

Skrypt sam ustawia utf8mb4; flaga sprawia, że klient wysyła go tak samo, więc polskie znaki docierają bez zmian.

Z narzędzia bazodanowego

W HeidiSQL lub DBeaver otwórz skrypt i uruchom go.

Bez skryptuPro

IntoSQL Pro ładuje plik prosto do MariaDB z aplikacji na komputer lub wiersza poleceń, bez pisania skryptu.

intosql load clientes_2024.xlsx --into mariadb://user@localhost/mydb

Co warto wiedzieć o plikach Excel i MariaDB

Co IntoSQL odczytuje w plikach Excel

  • Wiersz nagłówka zostaje znaleziony, nawet gdy nad nim są tytuły lub notatki, a wiersz sum na końcu jest pomijany.
  • Daty zapisane jako liczby seryjne Excela stają się prawdziwymi datami, zarówno w systemie dat 1900, jak i 1904.
  • Kody z zerami na początku, takie jak 00127, pozostają tekstem. Gdy skoroszyt ma kilka arkuszy, sam wybierasz arkusz.

Co warto wiedzieć o MariaDB

  • Wartości tak i nie stają się tinyint(1). Tekst do 255 znaków to varchar; dłuższy tekst to text, mediumtext lub longtext, zależnie od rozmiaru.
  • Skrypt używa utf8mb4 i ustawia tryb SQL, więc znaki diakrytyczne, emoji, ukośniki wsteczne i podziały wierszy ładują się tak, jak zostały zapisane.
  • Typ datetime w MariaDB nie zapisuje strefy czasowej.

Jak każdy rodzaj wartości jest zapisywany w MariaDB

WartośćMariaDB
Tak i nietinyint(1)
Liczby całkowiteint
Duże liczby całkowitebigint
Liczby dziesiętnedecimal(p,s)double
Liczby zmiennoprzecinkowedouble
Datydate
Godzinytime(6)time
Daty z godzinądatetime(6)datetime
Daty z godziną i przesunięciemdatetime(6)datetime
Tekstvarchar(n)textmediumtextlongtext

Pytania o Excel do MariaDB

Nie ma tu odpowiedzi? Napisz do nas przez stronę kontaktu, a odpowie człowiek. Strona kontaktu

Jak przekonwertować Excel do MariaDB?

Upuść plik na konwerter u góry tej strony. Znajduje nagłówek, odczytuje każdą wartość i zapisuje skrypt MariaDB, wymieniając każdą poprawkę. Pobierz skrypt i uruchom go za pomocą the mariadb client.

Który arkusz skoroszytu jest konwertowany?

Pierwszy widoczny arkusz. Gdy skoroszyt ma ich więcej, pojawia się opcja Arkusz, w której wybierzesz inny.

Jakich typów MariaDB używa?

Wartości tak i nie stają się tinyint(1), liczby całkowite int, liczby dziesiętne decimal(p,s), daty date, daty z godziną datetime(6), a tekst varchar(n). Rozmiary wynikają z najdłuższej wartości w każdej kolumnie.

Czy zachowuje zera wiodące w MariaDB?

Tak. Kod taki jak 00127 pozostaje tekstem, więc MariaDB przechowuje go jako varchar(8), a skrypt zapisuje go jako '00127'.

Czy może załadować dane do MariaDB bez skryptu?

Tak, z IntoSQL Pro. Aplikacja na komputer i wiersz poleceń łączą się z MariaDB i ładują wiersze bezpośrednio, najpierw tworząc tabelę.

Jak duży może być plik Excel?

W przeglądarce skoroszyt jest odczytywany w całości, więc limitem jest pamięć, jaką przeglądarka daje tej stronie. Aplikacja na komputer i wiersz poleceń przyjmują skoroszyty dowolnej wielkości; na laptopie z Apple M4 wiersz poleceń konwertuje skoroszyt 117 MB z milionem wierszy w około sekundę.