SELECT
从表中检索所有内容
的最简单形式:
Press CTRL+C to copymysql> 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 的出生日期似乎不太对。查阅您的原始系谱文件,您发现正确的出生年份应该是 1989 年,而不是 1979 年。
至少有两种方法可以解决这个问题:
编辑文件
pet.txt
以更正错误,然后清空表并使用DELETE
and 重新加载它LOAD DATA
:Press CTRL+C to copymysql> DELETE FROM pet; mysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;
但是,如果这样做,您还必须重新输入 Puffball 的记录。
UPDATE
仅使用语句 修复错误记录 :Press CTRL+C to copymysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';
仅更改有问题的
UPDATE
记录,不需要您重新加载表。
SELECT
*
选择所有列
的原则有一个例外。如果表包含不可见的列,*
则不包括它们。有关详细信息,请参阅第 13.1.20.10 节,“不可见列”。