|
|
 |
連載
SQL
MySQLでのテキストデータの挿入 |
|
1.状況
SQLではデータを挿入する場合、1件毎にINSERT文を使って行うことになります。
数件のデータならばいいですが、2,30件以上となると対話型の入力でないと我慢できなくなるものです。
初回のデータ入力時はExcelなどのシートからコピーしたい場合もあります。
MySQL自身には対話型の入力機能は付いてないので、他のデータベースやExcelなどからデータを移行するには、一度テキストデータにコピーしてMySQLに挿入するのが一番簡単な方法です。
MySQLにはこの外部のテキストファイルからのデータ挿入を1つのSQL文として実行することができます。
|
2.テキストデータの挿入SQL
それでは簡単な手順を示します。テキストデータは1行を1レコードとし、各項目間は何らかの文字で区切られたものとします。
この区切りの文字は自由に変更できますが、通常は","とします。このようなファイルをCSV(Comma Separated Values)ファイルとも言います。
挿入するデータをCSVファイルとして準備しておきますが、Excelなどでは「名前を付けて保存」する時に、ファイルの種類を「CSV(カンマ区切り)」にして保存します。
ここでは対象のデータベースを account、テーブル名を user、挿入データのテキストファイル名を account.txt とし、MySQLのデータベースと同じディレクトリにあるとします。
|
 |
| |
1: C:\>cd mysql\bin
2: C:\mysql\bin>
3:
4: C:\mysql\bin>mysql -u USERID -p
5: Enter password: ********
6: Welcome to the MySQL monitor. Commands end with ; or \g.
7: Your MySQL connection id is 2 to server version: 4.0.17-nt
8:
9: Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
10:
11: mysql> use account
12: Database changed
13: mysql> load data infile 'account.txt' into table user
14: -> fields terminated by ','
15: -> optionally enclosed by '"'
16: -> lines terminated by '\r\n';
17: Query OK, 0 rows affected (0.03 sec)
|
|
| コマンドプロンプト(テキストデータの挿入) 注) 連番は説明用で実際にはありません |
|
1行目 :MySQLの実行ファイルのある場所に移動する。
4行目 :ユーザIDを指定し、MySQLを起動する。
11行目 :データベース(account)を選択する。
13-16行目:テキストデータをユーザテーブル(user)に挿入する。
14行目 :区切り文字に","を指定する。
15行目 :文字列を""で囲っている場合は囲う文字として'"'を指定する。ない場合は必要なし。
16行目 :改行文字(CRLF)を"\r\n"を指定する。
|
|
|