#### 3.3.4.1 选择所有数据
[`SELECT`](https://dev.mysql.com/doc/refman/8.0/en/select.html) 最简单的形式是从表中检索所有数据:
```sql
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`](https://dev.mysql.com/doc/refman/8.0/en/select.html) 这种形式非常有用, 例如, 查看你刚刚加载过的初始化数据. 例如, 你可能恰好认为 Bowser 的出生日期似乎不太正确. 查阅你的原始血统记录, 你会发现正确的出生年费应该是 1989, 而不是 1979.
至少有两个方法可以解决这个问题:
- 编辑 `pet.txt` 文件纠正错误, 然后使用 [`DELETE`](https://dev.mysql.com/doc/refman/8.0/en/delete.html) 语句清空表格, 并且使用 [`LOAD DATA`](https://dev.mysql.com/doc/refman/8.0/en/load-data.html) 重新加载它:
```sql
mysql> DELETE FROM pet;
mysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;
```
然而, 如果你这样做, 你还必须重新输入 Puffball 的记录.
- 使用 [`UPDATE`](https://dev.mysql.com/doc/refman/8.0/en/update.html) 语句只修复错误的记录:
```sql
mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';
```
[`UPDATE`](https://dev.mysql.com/doc/refman/8.0/en/update.html) 只更改有问题的记录, 不需要重新加载表.
- 简介
- 前言和法律条款
- 安装和更新 MySQL
- 在 Linux 上安装 MySQL
- 在 Linux 上使用 APT 库安装 MySQL
- 在 Linux 上使用 Docker 部署 MySQL
- 使用 Docker 部署 MySQL 服务器的基本步骤
- 使用 Docker 部署 MySQL 服务器的更多主题
- 教程
- 连接到服务器和从服务器断开
- 输入查询
- 创建和使用数据库
- 创建和选择数据库
- 创建表
- 将数据加载到表中
- 从表中检索数据
- 选择所有数据
- 选择特定行
- 选择指定列
- 行排序
- 日期计算
- 处理 NULL 值
- 模式匹配
- 计算行数
- 使用多个表
- 获取数据库和表的信息
- 在批处理模式使用 mysql
- 常见查询示例
- 列的最大值
- 包含某一行最大值的记录
- 每组中列的最大值
- 拥有某个字段的组间最大值的行
- 使用用户自定义变量
- 使用外键
- 两个键上搜索
- 计算每日访问量
- 使用 AUTO_INCREMENT
- 在 Apache 中使用 MySQL
- MySQL 程序
- MySQL 客户端程序
- mysql — MySQL 命令行客户端
- 优化
- 优化概述
- 优化 SQL 语句
- 优化和索引
- 优化数据库结构
- 优化 InnoDB 表
- 优化 MyISAM 表
- 优化 MEMORY 表
- 理解查询执行计划
- 控制查询优化器
- 缓冲和缓存
- 优化锁操作
- 优化 MySQL 服务器
- 测量性能 (Benchmarking)
- 检查线程信息