mysqlimportコマンドで複数のMySQLテーブルにデータを一括インポートする方法
mysqlimportコマンドを利用すると、複数のMySQLテーブルに対して一度にデータをアップロード(インポート)できます。ここでは、2つのテキストファイルから2つのテーブルへデータをまとめて取り込む具体例を紹介します。
準備:インポートするデータファイル
まず、student1_tbl.txtというデータファイルに以下のデータが保存されているとします。
1 Saurav 11th 2 Sahil 11th 3 Digvijay 11th
同様に、House.txtには以下のデータが保存されています。
1 Furniture 2 Television 3 Refrigerator
インポート先のテーブル構造を確認する
これらのデータを格納するMySQLテーブルは次の2つです。DESCRIBE文で構造を確認しておきましょう。
mysql> DESCRIBE Student1_tbl; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | RollNo | int(11) | YES | | NULL | | | Name | varchar(20) | YES | | NULL | | | Class | varchar(20) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.06 sec) mysql> DESCRIBE House; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | Sr | int(11) | YES | | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
mysqlimportコマンドで複数テーブルへ一括インポート
次のように、コマンドラインで複数のファイルパスをスペース区切りで指定して実行すると、2つのテーブルへ同時にデータをアップロードできます。
C:\mysql\bin>mysqlimport -u root query C:/mysql/bin/mysql-files/student_tbl.txt C:/mysql/bin/mysql-files/house.txt query.student_tbl: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 query.house: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
ここで重要なポイントは、mysqlimportではファイル名から拡張子を除いた部分がテーブル名として扱われるという点です。そのため、ファイル名とインポート先のテーブル名を一致させておく必要があります。
インポート結果の確認
データが正しく登録されたか、SELECT文で確認してみましょう。
mysql> Select * from House; +------+--------------+ | Sr | Name | +------+--------------+ | 1 | Furniture | | 2 | Televisoin | | 3 | Refrigerator | +------+--------------+ 3 rows in set (0.00 sec) mysql> Select * from student1_tbl; +--------+----------+-------+ | RollNo | Name | Class | +--------+----------+-------+ | 1 | Saurav | 11th | | 2 | Sahil | 11th | | 3 | Digvijay | 11th | +--------+----------+-------+ 3 rows in set (0.00 sec)
このように、mysqlimportコマンドに複数のファイルパスを渡すだけで、それぞれのファイル名に対応したテーブルへデータが一括でインポートされます。また、実行結果には各テーブルごとの処理レコード数(Records)、削除件数(Deleted)、スキップ件数(Skipped)、警告数(Warnings)が表示されるため、インポートが正常に完了したかどうかも簡単に確認できます。
-
MySQLでNULLかどうかを確認する方法|IF()関数とIS NULLの使い方を解説
MySQLでは、IF()関数とIS NULL演算子を組み合わせることで、データがNULLかどうかを簡単に確認できます。この記事では、実際にテーブルを作成し、NULL値を含むレコードを判定する手順を、具体的なSQL文と実行結果とともにわかりやすく解説します。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(200), Age int ); Query OK,
-
MySQLのchar(1)型カラムにNULLを挿入する方法をわかりやすく解説
MySQLのchar(1)型カラムにNULLを挿入するには MySQLでは、char(1)型のカラムにNULLを挿入したい場合、そのカラムを「NULL許容」として定義しておくことが重要です。カラム定義にNULLを明示的に指定しておけば、INSERT文を使ってNULLをそのまま格納できます。 また、sql_modeを「STRICT_TRANS_TABLES」に設定しておくと、無効な値を挿入しようとした際にエラーが発生し、データの整合性が厳密に保たれます。デフォルト設定によっては、不正な値が警告とともに自動調整されてしまうこともあるため、意図しないデータの登録を防ぎたい場合には厳密モードの活用がお