CSV を MariaDB に変換
CSV ファイルをドロップすると、CREATE TABLE と INSERT 文を含む MariaDB 用のスクリプトができます。各列に型を付け、すべての修正を行と列とともに一覧にします。
5 行を変換、修正 8 件、却下なし
| 行 | ||||||
|---|---|---|---|---|---|---|
| 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;
修正
- ファイルは windows‑1252 で書かれていたため、UTF-8 に変換しました。
- ヘッダーは 4 行目にあります。その上の行は含めていません。
- 10 行目 ("TOTAL") は合計のため、含めていません。
- "Folio" の先頭のゼロを保持しました。00412 は 00412 のまま、テキストとして保存します。
- 15/02/2024 から "Fecha" の日付は日が先とわかるため、03/02/2024 は 2024‑02‑03 として読み取ります。
- "Importe" の数値は小数点にカンマを使っています。1.234,50 は 1234.50 として読み取ります。
- "Importe" の N/A を空として読み取りました(5 件中 1 件)。
- "Pagado" には「はい/いいえ」の語 (sí, no) があるため、ブール値として保存しました。
ファイルはこのコンピューター上で変換され、アップロードされることはありません。
その他のサンプル:
CSV から MariaDB へ、列ごとに
上のサンプル ventas_2024.csv を IntoSQL が MariaDB 用に書き出した結果です。各列のファイル内の内容、付く型、最初の値がスクリプトでどうなるかを示します。
| ファイル内 | 最初の値 | 列 | MariaDB の型 | スクリプト内 |
|---|---|---|---|---|
| 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 |
スクリプトを MariaDB に読み込む
ダウンロードされるのは普通の .sql ファイルです。MariaDB 付属のツールで実行してください。
ターミナルから
mariadb --default-character-set=utf8mb4 mydb < ventas_2024.mariadb.sqlスクリプト自体が utf8mb4 を設定します。このフラグでクライアントも同じ方法で送信するため、アクセント記号が崩れません。
データベースツールから
HeidiSQL や DBeaver では、スクリプトを開いて実行します。
スクリプトを使わずにPro
IntoSQL Pro なら、デスクトップアプリやコマンドラインからファイルを MariaDB に直接読み込めます。スクリプトを書き出す必要はありません。
intosql load ventas_2024.csv --into mariadb://user@localhost/mydbCSV ファイルと MariaDB について知っておくこと
IntoSQL が CSV ファイルから読み取るもの
- Windows-1252 や UTF-16 を含め文字コードを判別するので、アクセント記号や ñ もそのまま届きます。
- 区切り文字を判別します。カンマ、セミコロン、タブ、縦線に対応しています。セミコロン区切りでは、1.234,50 のような小数点のカンマを数値として読み取ります。
- 引用符で囲まれた値には、区切り文字や改行を含められます。
MariaDB について知っておくこと
- はい/いいえの値は tinyint(1) になります。255 文字までのテキストは varchar、それより長いテキストはサイズに応じて text、mediumtext、longtext になります。
- スクリプトは utf8mb4 を使い SQL モードを設定するので、アクセント記号、絵文字、バックスラッシュ、改行は書かれたとおりに読み込まれます。
- MariaDB の datetime はタイムゾーンを保存しません。
MariaDB で各種類の値がどう保存されるか
| 値 | MariaDB |
|---|---|
| はい/いいえ | tinyint(1) |
| 整数 | int |
| 大きな整数 | bigint |
| 小数 | decimal(p,s)double |
| 浮動小数点数 | double |
| 日付 | date |
| 時刻 | time(6)time |
| 日付と時刻 | datetime(6)datetime |
| 日付と時刻、時差付き | datetime(6)datetime |
| テキスト | varchar(n)textmediumtextlongtext |
CSV から MariaDB への変換に関する質問
ここに答えがない場合は、お問い合わせページからご連絡ください。担当者が返信します。 お問い合わせページ
CSV を MariaDB に変換するには?
このページ上部のコンバーターにファイルをドロップしてください。ヘッダーを見つけ、すべての値を読み取り、行った修正を一覧にしながら MariaDB 用のスクリプトを書き出します。スクリプトをダウンロードし、the mariadb client で実行してください。
CSV の区切りがセミコロンやタブの場合は?
区切り文字はカンマ、セミコロン、タブ、縦線から自動で検出されます。「その他のオプション」で指定することもできます。セミコロン区切りでは、1.234,50 のような小数点カンマも数値として読み取ります。
MariaDB ではどの型を使いますか?
はい/いいえの値は tinyint(1)、整数は int、小数は decimal(p,s)、日付は date、時刻付きの日付は datetime(6)、テキストは varchar(n) になります。サイズは各列の最も長い値から決まります。
MariaDB で先頭のゼロは残りますか?
はい。00412 のようなコードはテキストのまま扱われるため、MariaDB では varchar(8) として保存され、スクリプトには '00412' と書かれます。
スクリプトを使わずに MariaDB にデータを読み込めますか?
はい、IntoSQL Pro で可能です。デスクトップアプリとコマンドラインが MariaDB に接続し、テーブルを作成してから行を直接読み込みます。
CSV ファイルはどのくらいの大きさまで扱えますか?
ブラウザは CSV を流れてくる順に読むため、数 GB のファイルも扱えます。Apple M4 のノートパソコンでは、コマンドラインが 100 万行・174 MB の CSV を 1 秒未満で変換します。