CSV dosyalarını MariaDB için dönüştürün
CSV dosyanızı bırakın, CREATE TABLE ve INSERT ifadeleri içeren bir MariaDB betiği alın. Her sütuna bir tür verilir ve her düzeltme satırı ve sütunuyla listelenir.
5 satır dönüştürüldü, 8 düzeltme, reddedilen yok
| Satır | ||||||
|---|---|---|---|---|---|---|
| 5 | 00412 | Peña Muñoz | Mérida | 15/02/2024 | 1.234,50 | sí |
| 6 | 00413 | José Ángel Ruiz | León | 03/02/2024 | 99,90 | no |
| 7 | 00414 | Zoë Ortíz | Querétaro | 29/02/2024 | N/A | sí |
| 8 | 00415 | Ñuño Castañeda | Oaxaca | 28/02/2024 | 7,25 | no |
| 9 | 00416 | Iñaki Olaizola | Mazatlán | 11/03/2024 | 980,75 | sí |
-- Written by IntoSQL for MariaDB.
SET NAMES utf8mb4;
SET SESSION sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');
START TRANSACTION;
CREATE TABLE ventas_2024 (
folio varchar(8) NOT NULL,
cliente varchar(16) NOT NULL,
ciudad varchar(16) NOT NULL,
fecha date NOT NULL,
importe decimal(6,2),
pagado tinyint(1) NOT NULL
) DEFAULT CHARSET=utf8mb4;
INSERT INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES
('00412', 'Peña Muñoz', 'Mérida', '2024-02-15', 1234.50, TRUE),
('00413', 'José Ángel Ruiz', 'León', '2024-02-03', 99.90, FALSE),
('00414', 'Zoë Ortíz', 'Querétaro', '2024-02-29', NULL, TRUE),
('00415', 'Ñuño Castañeda', 'Oaxaca', '2024-02-28', 7.25, FALSE),
('00416', 'Iñaki Olaizola', 'Mazatlán', '2024-03-11', 980.75, TRUE);
COMMIT;
Düzeltmeler
- Dosya windows‑1252 ile kodlanmıştı; UTF-8'e dönüştürüldü.
- Başlık 4. satırda; üstündeki satırlar dışarıda bırakıldı.
- 10. satır ("TOTAL") bir toplam; bu yüzden dışarıda bırakıldı.
- "Folio" içindeki baştaki sıfırlar korundu: 00412, 00412 olarak kalır ve metin olarak saklanır.
- 15/02/2024 değeri, "Fecha" içindeki tarihlerde günün önce geldiğini kanıtlıyor; bu yüzden 03/02/2024, 2024‑02‑03 olarak okunur.
- "Importe" içindeki sayılar ondalık virgül kullanıyor: 1.234,50, 1234.50 olarak okunur.
- "Importe" içindeki N/A boş olarak okundu (5 değerden 1).
- "Pagado" evet ve hayır sözcükleri içeriyor (sí, no); boolean olarak saklandı.
Dosyan bu bilgisayarda dönüştürülür ve asla yüklenmez.
Diğer örnekler:
CSV dosyasından MariaDB için, sütun sütun
Yukarıdaki örnek ventas_2024.csv, IntoSQL'in MariaDB için yazdığı haliyle: her sütunun dosyada ne tuttuğu, aldığı tür ve ilk değerinin betiğe nasıl yazıldığı.
| Dosyada | İlk değer | Sütun | MariaDB türü | Betikte |
|---|---|---|---|---|
| Folio | 00412 | folio | varchar(8) | '00412' |
| Cliente | Peña Muñoz | cliente | varchar(16) | 'Peña Muñoz' |
| Ciudad | Mérida | ciudad | varchar(16) | 'Mérida' |
| Fecha | 15/02/2024 | fecha | date | '2024-02-15' |
| Importe | 1.234,50 | importe | decimal(6,2) | 1234.50 |
| Pagado | sí | pagado | tinyint(1) | TRUE |
Betiği MariaDB veritabanına yükleyin
İndirilen dosya düz bir .sql dosyasıdır. MariaDB araçlarıyla çalıştırın.
Terminalden
mariadb --default-character-set=utf8mb4 mydb < ventas_2024.mariadb.sqlBetik utf8mb4'ü kendisi ayarlar; bu bayrak istemcinin de aynı şekilde göndermesini sağlar, böylece aksanlı harfler bozulmadan ulaşır.
Bir veritabanı aracından
HeidiSQL veya DBeaver'da betiği açıp çalıştırın.
Betik olmadanPro
IntoSQL Pro, dosyayı masaüstü uygulamasından veya komut satırından doğrudan MariaDB veritabanına yükler; betik yazmanız gerekmez.
intosql load ventas_2024.csv --into mariadb://user@localhost/mydbCSV dosyaları ve MariaDB hakkında bilmeniz gerekenler
IntoSQL'in CSV dosyalarında okudukları
- Kodlama algılanır, Windows-1252 ve UTF-16 dahil; böylece aksanlı harfler ve ñ bozulmadan gelir.
- Ayırıcı algılanır: virgül, noktalı virgül, sekme veya dikey çizgi. Noktalı virgülle, 1.234,50 gibi ondalık virgüller sayı olarak okunur.
- Tırnak içindeki değerler ayırıcı ve satır sonu içerebilir.
MariaDB hakkında bilmeniz gerekenler
- Evet ve hayır değerleri tinyint(1) olur. 255 karaktere kadar metin varchar olur; daha uzun metin boyutuna göre text, mediumtext veya longtext olur.
- Betik utf8mb4 kullanır ve SQL modunu ayarlar; böylece aksanlar, emoji, ters eğik çizgiler ve satır sonları yazıldığı gibi yüklenir.
- MariaDB'nin datetime türü saat dilimi saklamaz.
Her değer türü MariaDB içinde nasıl saklanır
| Değer | MariaDB |
|---|---|
| Evet ve hayır | tinyint(1) |
| Tam sayılar | int |
| Büyük tam sayılar | bigint |
| Ondalık sayılar | decimal(p,s)double |
| Kayan noktalı sayılar | double |
| Tarihler | date |
| Günün saatleri | time(6)time |
| Saatli tarihler | datetime(6)datetime |
| Saatli ve saat farkı olan tarihler | datetime(6)datetime |
| Metin | varchar(n)textmediumtextlongtext |
CSV dosyasından MariaDB için sorular
Yanıtınızı bulamadınız mı? İletişim sayfasından bize yazın, bir kişi yanıt verir. İletişim sayfası
CSV dosyasını MariaDB için nasıl dönüştürürüm?
Dosyanızı bu sayfanın üstündeki dönüştürücüye bırakın. Başlığı bulur, her değeri okur ve yaptığı her düzeltmeyi listeleyerek MariaDB betiğini yazar. Betiği indirip the mariadb client ile çalıştırın.
CSV dosyam noktalı virgül veya sekme kullanıyorsa?
Ayırıcı algılanır: virgül, noktalı virgül, sekme veya dikey çizgi. Daha fazla seçenek altından da ayarlayabilirsiniz. Noktalı virgülle, 1.234,50 gibi ondalık virgüller sayı olarak okunur.
Hangi MariaDB türlerini kullanır?
Evet/hayır değerleri tinyint(1), tam sayılar int, ondalıklar decimal(p,s), tarihler date, saatli tarihler datetime(6) ve metin varchar(n) olur. Boyutlar her sütundaki en uzun değere göre belirlenir.
MariaDB için baştaki sıfırları korur mu?
Evet. 00412 gibi bir kod metin olarak kalır; MariaDB onu varchar(8) olarak saklar ve betik onu '00412' olarak yazar.
Verileri betik olmadan MariaDB veritabanına yükleyebilir mi?
Evet, IntoSQL Pro ile. Masaüstü uygulaması ve komut satırı MariaDB veritabanına bağlanır, önce tabloyu oluşturur ve satırları doğrudan yükler.
CSV dosyası ne kadar büyük olabilir?
Tarayıcı CSV dosyasını akış halinde okur, bu yüzden birkaç gigabaytlık dosyalar çalışır. Apple M4'lü bir dizüstü bilgisayarda komut satırı bir milyon satırlık 174 MB'lık bir CSV dosyasını bir saniyeden kısa sürede dönüştürür.