Spec-Zone.ru › MySQL 9.2

5.3.4.1 Выбор всех данных

Простейшая форма SELECT извлекает все данные из таблицы:

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 использует *, что является сокращением для “выбрать все столбцы”. Это полезно, если вы хотите просмотреть всю таблицу, например, после загрузки начального набора данных. Например, вы можете подумать, что дата рождения Боузера не совсем правильная. Проверив оригинальные документы, вы обнаружите, что правильный год рождения должен быть 1989, а не 1979.

Существует как минимум два способа исправить это:

  • Измените файл pet.txt, чтобы исправить ошибку, затем очистите таблицу и перезагрузите ее, используя DELETE и LOAD DATA:

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

    Однако, выполнив эти действия, вам также необходимо повторно ввести запись для Пуфболла.

  • Исправьте только ошибочную запись с помощью оператора UPDATE:

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

    Оператор UPDATE изменяет только запись, о которой идёт речь, и не требует перезагрузки таблицы.

Существует исключение из правила, что SELECT * выбирает все столбцы. Если таблица содержит скрытые столбцы, * их не включает. Дополнительную информацию см. в разделе 15.1.21.10 «Скрытые столбцы».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/selecting-all.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API