MySQLサーバ内にテーブルを作成してみます。
テーブル作成を行うSQLは
create table テーブル名(フィールド名1 データ型,フィールド名2 データ型,・・・);
にて行います。
データ型には
- 数値型
- 日付型
- 文字列型
などがあり、それぞれに幾つかの種類があるようになっています。
今回は住所録を作成してみようかと思っているので、郵便局からダウンロードできるCSVファイルを取込できるテーブルを作成しようと思います。
取り込む項目を検討した結果、以下の通りの構成にしました。
- 地方公共団体コード・・・varchar(6)
- 旧郵便番号・・・varchar(5)
- 郵便番号・・・varchar(7)
- 都道府県名カナ・・・varchar(20)
- 市町村名カナ・・・varchar(40)
- 町域名カナ・・・varchar(50)
- 都道府県名漢字・・・varchar(10)
- 市町村名漢字・・・varchar(20)
- 町域名漢字・・・varchar(20)
これを上記の構文に当てはめると
use ryo
create table T_郵便番号 (
地方公共団体コード int(8),
旧郵便番号 int(5),
郵便番号 int(7),
都道府県名カナ varchar(20),
市町村名カナ varchar(40),
町域名カナ varchar(50),
都道府県名漢字 varchar(10),
市町村名漢字 varchar(20),
町域名漢字 varchar(20)
);
となります。
先頭の「use ryo」
は使用するデータベース名を指定しています。
SQL内で指定しておけばMySQLのコンソールであらかじめ使用するデータベースを指定する必要がなくなりますので。
そして作成したSQLファイルをサーバ内の任意のディレクトリに保存したらサーバのMySQLを起動します。
mysql -u ○○ -p
パスワード
起動したら
source ファイル名
にて実行します。ファイル名はフルパスで指定しましょう。
こうすることでいちいちコンソールにSQLを入力しなくても簡単に実行できることが分かりました。
次はCSVファイルを取り込む手法について検討したいと思います。