- ベストアンサー
テキストデータのインポート方法とは?初心者にもわかりやすく解説
- テキストデータをMySQLにインポートする方法について、初心者向けに解説します。
- ホストコンピュータのデータベースから出力したテキストデータを、MySQLのテーブルにインポートする手順について説明します。
- テキストデータのレイアウトやMySQLのテーブル定義について詳しく解説し、初心者の方でもわかりやすく実施できるようにします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
使用するMySQLのバージョンは、何でしょうか? 4.0、4.1、5.0等で、機能が大きく違います。特に4.1以降では、unicodeがサポートされているで、4.0までとは大きく違っています。 テキストデータ上はフィールドの区切りを持たないとのことですが、インポートは、どのような手段で行なおうと考えているのでしょうか? 少なくとも、これではMySQLが提供している「LOAD DATA INFILE」は使えません。 >顧客コード(英数字6桁)---> 123456 >kokyakucode varchr(6) 6桁固定なら「char(6)」で、6桁以下なら「varchar(6)」でいいでしょう。 >商品名(日本語5文字(10バイト) ---> 商品AAA MySQL 4.1以降か4.0までかによって、仕様が異なります。 MySQL 4.1以降として、回答します。 MySQLでは、ncharをサポートしていません。その代わり、charに半角、倍角の両方の文字が入り、バイト数でなく文字数で制限を受けます。 例えば、char(3)なら、以下のようになります。 'abc'→格納可 'あbc'→格納可 'あいう'→格納可 'abcd'→格納不可 'あいうえ'→格納不可 ということで、「varchar(5)」で日本語5文字まで格納可能です。 >数量(符号付、5バイト)---> +15 -99999~+99999までを保持したいということでしょうか? 「mediumint」または「int」が適当と思います。 >単価(符号なし、整数部6バイト、小数部 3バイト)---> 125.55 「dec(9,3)」が適当と思います。
お礼
早々のご回答有難うございました。 わかりやすい説明で理解できました。 MySQLのバージョンは5.0です。 書き忘れました。 ACCESSだと、テキスト上のフィールドの区切りがなくても、テーブルの定義情報で判断できたので、MySQLもできるのではないかと思い調べましたが、CSV以外は見つかりませんでしたので、こちらで質問致しました。 テキストデータ → ACCESS → MySQLサーバ ではと考えています。 でも、MySQLの一歩目で時間をこれでとられていましたので、すっきりしました。 感謝します