#### 3.3.4.1选择所有数据

最简单的[`选择`](select.html)从表中检索所有内容：

```
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.html)使用`*`，这是“选择所有列”的缩写如果您想查看整个表，例如，在您刚刚加载了初始数据集之后，这是很有用的。例如，你可能会碰巧认为Bowser的出生日期似乎不太正确。查阅你的原始家谱，你会发现正确的出生年份应该是1989年，而不是1979年。

至少有两种方法可以解决这个问题：

-   编辑文件`聚酯食品包装材料txt`要更正错误，请清空表并使用[`删去`](delete.html)和[`加载数据`](load-data.html):

    ```
    mysql> DELETE FROM pet;
    mysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;
    ```

    然而，如果你这样做了，你还必须重新输入Puffball的记录。

-   仅使用[`使现代化`](update.html)声明：

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

    这个[`使现代化`](update.html)只更改相关记录，不需要重新加载表。

    这一原则有一个例外：`挑选*`选择所有列。如果表包含不可见列，`*`不包括他们。有关更多信息，请参阅[第13.1.20.10节，“隐形柱”](invisible-columns.html).
