Buy this Reference Manual in softcover from Barnes & Noble!
В самом простом варианте вызова 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 | 1998-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, а не в 1998 году.
Исправить ошибку можно как минимум двумя способами:
mysql> SET AUTOCOMMIT=1; # Used for quick re-create of the table mysql> DELETE FROM pet; mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;Однако в таком случае придется снова ввести запись о Puffball.
UPDATE
:
mysql> UPDATE pet SET birth = "1989-08-31" WHERE name = "Bowser";
Как видно из приведенного выше примера, загрузить всю таблицу сразу очень просто. Но на практике обычно этого не требуется, особенно когда таблица достигает значительных размеров. Чаще всего нужно просто ответить на какой-нибудь вопрос, для чего необходимо ввести ограничения, указывающие, какая же информация вам нужна. Давайте рассмотрим несколько запросов с точки зрения вопросов, на которые они отвечают.
Posted by [name withheld] on Friday June 28 2002, @3:09pm | [Delete] [Edit] |
DELETE FROM pet doesn't work if you are
using 'safe update mode' (which may be the case
during a tutorial).
Posted by [name withheld] on Thursday November 21 2002, @4:09pm | [Delete] [Edit] |
Am I losing it here, or was the 'Bowser'
birthdate set to '1989' originally?
Posted by [name withheld] on Saturday November 30 2002, @6:52am | [Delete] [Edit] |
the downloadable demo files already contain the
corrected date of birth
Add your own comment.