テ,ブルを作成したら,デ,タを移入する必要があります。これには,加载数据
ステ,トメントと插入
ステトメントが役立ます。
ペットのレコ,ドを次のように記述できると仮定します。(MySQLでは,日付の形式は“YYYY-MM-DD”
と想定されています.これはユ.ザ.が通常使用する形式とは異なる場合があります.)
的名字 | 老板 | 物种 | 性 | 出生 | 死亡 |
---|---|---|---|---|---|
毛茸茸的 | 哈罗德 | 猫 | f | 1993-02-04 | |
爪子 | 格温 | 猫 | 米 | 1994-03-17 | |
巴菲 | 哈罗德 | 狗 | f | 1989-05-13 | |
方 | 本尼 | 狗 | 米 | 1990-08-27 | |
加油车 | 黛安娜 | 狗 | 米 | 1979-08-31 | 1995-07-29 |
活泼的 | 格温 | 鸟 | f | 1998-09-11 | |
惠斯勒 | 格温 | 鸟 | 1997-12-09 | ||
苗条的 | 本尼 | 蛇 | 米 | 1996-04-29 |
空のテーブルから始めているため,データを移入する簡単な方法は,各ペットに対応する行を記述したテキストファイルを作成してから,1つのステートメントでそのファイルの内容をテーブルにロードすることです。
たとえば,テキストファpet.txt
を作成し,1行に1レコ,ドを記述します。値は,创建表
ステ,トメントに指定したカラムの順序に従い,タブで区切って指定します。性別が不明な場合やまだ生きているペットの死亡年月日など,不足している値には零
値を使用できます。テキストファ@ @ルでこれらを表現するには、\ N
(バックスラッシュと大文字のn)を使用します。たとえば,惠斯勒という鳥のレコードは次のようになります(値の間の空白は1つのタブ文字です)。
惠斯勒格温鸟\N 1997-12-09 \N
テキストファ@ @ルpet.txt
を宠物
テ,ブルにロ,ドするには,次のステ,トメントを使用します。
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
このファWindowsで作成した場合,作成に使用したエディタで\ r \ n
が行タ,ミネ,タとして使用されているときは,代わりに次のステ,トメントを使用します。
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet -> LINES TERMINATED BY '\r\n';
(OS Xを実行している苹果マシンでは,以'\r'结尾的行
を使用するとよいでしょう。)
カラム値の区切り文字と行末マ,カ,は,必要に応じて加载数据
ステ,トメントで明示的に指定できますが,デフォルトではタブと改行です。ステ,トメントでpet.txt
ファ@ @ルを正しく読み取るにはこれで十分です。
ステートメントが失敗する場合,使用しているMySQLインストールではローカルファイル機能がデフォルトで有効になっていない可能性があります。これを変更する方法にいては,セクション6.1.6 "加载数据本地のセキュリティの問題"を参照してください。
新しいレコ:ドを1,插入
ステトメントが役立ます。もっとも単純な形式では,创建表
ステ,トメントに指定したカラムの順序に従って,各カラムの値を入力します。黛安が,「尘菌」という名前の新しいハムスタ,を手に入れたとします。次のように,插入
ステ,トメントを使用して新しいレコ,ドを追加できます。
mysql> INSERT INTO pet -> VALUES ('Puffball','Diane','仓鼠','f','1999-03-30',NULL);
ここでは,文字値と日付値を,引用符付きの文字列で指定しています。また,插入
では,不足している値を表す零
を直接挿入することができます。加载数据
の場合のように\ N
を使用することはありません。
この例からわかるとおり,初期レコ,ドをロ,ドするために複数の插入
ステトメントを使用すると,1の加载数据
ステ,トメントを使用する場合よりもかなり多くの入力が必要になります。