Spec-Zone.ru › MySQL 8.4

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.20.10 «Скрытые столбцы».

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

Spec-Zone.ru

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