Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


このページは機械翻訳したものです。

3.3.4.1 すべてのデータの選択

SELECT のもっとも単純な形式では、テーブルのすべての内容が取り出されます。

Press CTRL+C to copy
mysql> SELECT * FROM pet; +----------+--------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +----------+--------+---------+------+------------+------------+ | Fluffy | Harold | cat | f | 1993-02-04 | NULL | | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Buffy | Harold | dog | f | 1989-05-13 | NULL | | Fang | Benny | dog | m | 1990-08-27 | NULL | | Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 | | Chirpy | Gwen | bird | f | 1998-09-11 | NULL | | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL | | Slim | Benny | snake | m | 1996-04-29 | NULL | | Puffball | Diane | hamster | f | 1999-03-30 | NULL | +----------+--------+---------+------+------------+------------+

この形式の SELECT では、「すべてのカラムの選択」の短縮形である * を使用します。 これは、初期データセットとともにロードした後など、テーブル全体を確認する場合に便利です。 たとえば、Bowser の生年月日が正しくないようだと気付いたとします。 血統書の原本を確認すると、正しい生年は 1979 年ではなく 1989 年であるとわかりました。

これを修正するには、少なくとも 2 つの方法があります。

  • ファイル pet.txt を編集して間違いを修正したあと、DELETELOAD DATA を使用してテーブルを空にしてからリロードします。

    Press CTRL+C to copy
    mysql> DELETE FROM pet; mysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;

    ただし、この方法では、Puffball のレコードも再度入力する必要があります。

  • UPDATE ステートメントを使用して、間違ったレコードだけを修正します。

    Press CTRL+C to copy
    mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

    UPDATE は該当するレコードだけを変更するため、テーブルをリロードする必要はありません。

SELECT * がすべてのカラムを選択するという原則には例外があります。 テーブルに非表示カラムが含まれている場合、* には非表示カラムは含まれません。 詳細は、セクション13.1.20.10「非表示カラム」を参照してください。