MySQLに日本語のデータを入力する。
JTerminalからMySQLに日本語のデータをコマンドラインから直接入力する事は出来ないので、ファイルから読込ませる事にしました。
適当なデータと言う事で、子供の地図帳から北海道と東北六県の面積と人口のデータから、テキストエディターで次のようなカンマで区切ったテキストデータを作りました。
1,北海道,札幌市,83451,567
2,青森県,青森市,9606,151
3,岩手県,盛岡市,15275,143
4,宮城県,仙台市,7284,229
5,秋田県,秋田市,11613,123
6,山形県,山形市,9323,126
7,福島県,福島市,13782,213
これを文字コード「EUC」、改行コード「LF」で「data.csv」として保存します(他は試していませんが、JTerminalが「EUC」を扱うので、この設定が無難だと思います)。そしてこのファイルをmysqlユーザがアクセス出来るディレクトリに置きます。今回は、「/Uses/Shared」にしました。
mysqldは、あらかじめ立ち上がっているものとしJTerminalからmysqlを立ち上げますが、データベースを操作するため、MySQLのrootユーザーとしてmysqlを立ち上げます。JTerminalに次のコマンドを入力します。
パスワードの入力を求められるので、MySQLの設定をするで設定したパスワードを入力します。いくつかのメッセージがあり、"mysql> "とMySQLのプロンプトが表示されます。ここで「SAMPLE_DB」と名付けた新規のデータベースを作るコマンドを入力します。
create database SAMPLE_DB; |
"Query OK, 0 rows affected (0.01 sec)"などと表示されえばOKです。次にこのデータベース上で作業をする事を指定するコマンドを入力します。
"Database changed"とメッセージが返ってきますので、次にテーブルを作るコマンドを入力します。
MySQLでは、";"がコマンドの終りを意味するので、コマンドの続きの入力を促す"->"が表示されます。続けて、次のコマンドを入力します。
(ID_C int,PREF_C varchar(10),SEAT_PREF_G_C
varchar(10), |
また、"->"が表示されますので、コマンドを続けて入力します。
SIZE_C int,POPULATION_C int); |
"Query OK, 0 rows affected (0.06 sec)"などと表示され、テーブルが作られます。次は、このテーブルに先ほどのファイルからデータを入力するコマンドです。
load data infile "/Users/Shared/data.csv" |
また、"->"が表示されますので、コマンドを続けて入力します。
into table SAMPLE_T fields terminated by
","; |
"Query OK, 7 rows affected (0.04 sec)"
"Records: 7 Deleted: 0 Skipped: 0 Warnings: 0"
などと表示されれば成功です。
データを読み出して確認してみましょう。次のコマンドを入力します。
次のように表示されるでしょう。