JSON dosyalarını MySQL için dönüştürün
JSON dosyanızı bırakın, CREATE TABLE ve INSERT ifadeleri içeren bir MySQL betiği alın. Her sütuna bir tür verilir ve her düzeltme satırı ve sütunuyla listelenir.
4 satır dönüştürüldü, 2 düzeltme, reddedilen yok
| Satır | ||||||
|---|---|---|---|---|---|---|
| 2 | 000481 | Peña Muñoz | 2024-02-03T10:15:00Z | 1234.5 | true | |
| 3 | 000482 | José Ángel Ruiz | 2024-02-15T16:40:00Z | 99.9 | false | Entrega en la tarde |
| 4 | 000483 | Zoë Ortíz | 2024-02-29T09:05:00Z | 12 | true | |
| 5 | 000484 | Ñuño Castañeda | 2024-03-11T13:30:00Z | 980.75 | sí | Factura con "RFC" |
-- Written by IntoSQL for MySQL.
SET NAMES utf8mb4;
SET SESSION sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');
START TRANSACTION;
CREATE TABLE pedidos_2024 (
pedido varchar(8) NOT NULL,
cliente varchar(16) NOT NULL,
fecha datetime NOT NULL,
total decimal(6,2) NOT NULL,
pagado tinyint(1) NOT NULL,
notas varchar(32)
) DEFAULT CHARSET=utf8mb4;
INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00', 1234.5, TRUE, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00', 99.9, FALSE, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00', 12, TRUE, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00', 980.75, TRUE, 'Factura con "RFC"');
COMMIT;
Düzeltmeler
- "pedido" içindeki baştaki sıfırlar korundu: 000481, 000481 olarak kalır ve metin olarak saklanır.
- "pagado" evet ve hayır sözcükleri içeriyor (sí); boolean olarak saklandı.
Dosyan bu bilgisayarda dönüştürülür ve asla yüklenmez.
Diğer örnekler:
JSON dosyasından MySQL için, sütun sütun
Yukarıdaki örnek pedidos_2024.json, IntoSQL'in MySQL 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 | MySQL türü | Betikte |
|---|---|---|---|---|
| pedido | 000481 | pedido | varchar(8) | '000481' |
| cliente | Peña Muñoz | cliente | varchar(16) | 'Peña Muñoz' |
| fecha | 2024-02-03T10:15:00Z | fecha | datetime | '2024-02-03 10:15:00' |
| total | 1234.5 | total | decimal(6,2) | 1234.5 |
| pagado | true | pagado | tinyint(1) | TRUE |
| notas | - | notas | varchar(32) | NULL |
Betiği MySQL veritabanına yükleyin
İndirilen dosya düz bir .sql dosyasıdır. MySQL araçlarıyla çalıştırın.
Terminalden
mysql --default-character-set=utf8mb4 mydb < pedidos_2024.mysql.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
MySQL Workbench'te File, Run SQL Script'i seçip dosyayı belirleyin.
Betik olmadanPro
IntoSQL Pro, dosyayı masaüstü uygulamasından veya komut satırından doğrudan MySQL veritabanına yükler; betik yazmanız gerekmez.
intosql load pedidos_2024.json --into mysql://user@localhost/mydbJSON dosyaları ve MySQL hakkında bilmeniz gerekenler
IntoSQL'in JSON dosyalarında okudukları
- Dosya bir nesne dizisi, bu diziyi data gibi bir anahtar altında tutan bir nesne veya satır başına bir nesne (NDJSON) olabilir.
- Her anahtar bir sütun olur. Bir değerin içindeki nesneler ve diziler JSON metni olarak korunur.
- Sayılar basamaklarını aynen korur, ISO 8601 tarihleri ise tarih veya zaman damgası olur.
MySQL 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.
- MySQL'in datetime türü saat dilimi saklamaz.
Her değer türü MySQL içinde nasıl saklanır
| Değer | MySQL |
|---|---|
| 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 |
JSON dosyasından MySQL 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ı
JSON dosyasını MySQL 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 MySQL betiğini yazar. Betiği indirip the mysql client ile çalıştırın.
JSON dosyası hangi yapıda olmalı?
Bir nesne dizisi, bu diziyi data gibi bir anahtar altında tutan bir nesne veya satır başına bir nesne (NDJSON). Her anahtar bir sütun olur.
Hangi MySQL 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.
MySQL için baştaki sıfırları korur mu?
Evet. 000481 gibi bir kod metin olarak kalır; MySQL onu varchar(8) olarak saklar ve betik onu '000481' olarak yazar.
Verileri betik olmadan MySQL veritabanına yükleyebilir mi?
Evet, IntoSQL Pro ile. Masaüstü uygulaması ve komut satırı MySQL veritabanına bağlanır, önce tabloyu oluşturur ve satırları doğrudan yükler.
JSON dosyası ne kadar büyük olabilir?
Satır başına bir nesne içeren NDJSON akış halinde okunur, bu yüzden tarayıcıda birkaç gigabaytlık dosyalar çalışır. Bir JSON belgesi bütün olarak okunur, bu yüzden sınırı tarayıcının bu sayfaya verdiği bellektir. Masaüstü uygulaması ve komut satırı her boyutta dosyayı alır.