GNU Info

Info Node: (mysql.info)Selecting all

(mysql.info)Selecting all


Next: Selecting rows Prev: Retrieving data Up: Retrieving data
Enter node , (file) or (file)node

Selecting All Data
..................

The simplest form of `SELECT' retrieves everything from a table:

     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    | 1998-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       |
     +----------+--------+---------+------+------------+------------+

This form of `SELECT' is useful if you want to review your entire table,
for instance, after you've just loaded it with your initial dataset.
As it happens, the output just shown reveals an error in your data
file:  Bowser appears to have been born after he died!  Consulting your
original pedigree papers, you find that the correct birth year is 1989,
not 1998.

There are are least a couple of ways to fix this:

   * Edit the file `pet.txt' to correct the error, then empty the table
     and reload it using `DELETE' and `LOAD DATA':

          mysql> SET AUTOCOMMIT=1;  # Used for quick re-create of the table
          mysql> DELETE FROM pet;
          mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

     However, if you do this, you must also re-enter the record for
     Puffball.

   * Fix only the erroneous record with an `UPDATE' statement:

          mysql> UPDATE pet SET birth = "1989-08-31" WHERE name = "Bowser";

As shown above, it is easy to retrieve an entire table.  But typically
you don't want to do that, particularly when the table becomes large.
Instead, you're usually more interested in answering a particular
question, in which case you specify some constraints on the information
you want.  Let's look at some selection queries in terms of questions
about your pets that they answer.


automatically generated by info2www version 1.2.2.9