SELECT person_id, fname, lname, birth_date >
FROM person >
WHERE person_id = 1; +++++
| person_id | fname | lname | birth_date |
+++++
| 1 | William | Turner | 19720527 |
+++++
1 row in set (0.00 sec)
В данном запросе задается конкретное значение первичного ключа. Но
для поиска строк может использоваться любой столбец таблицы, о чем
свидетельствует следующий запрос, выбирающий все строки, столбцы
lname
которых содержат значение
'Turner'
:
mysql>
SELECT person_id, fname, lname, birth_date >
FROM person >
WHERE lname = 'Turner' ;
+++++
| person_id | fname | lname | birth_date |
+++++
| 1 | William | Turner | 19720527 |
+++++
1 row in set (0.00 sec)
Прежде чем двигаться дальше, сделаю несколько замечаний относи
тельно предыдущего выражения
insert
:
• Не заданы значения ни для одного столбца адреса. Это нормально,
поскольку для них допускается значение
null
.
• Для столбца
birth_date
было предоставлено строковое значение. По
скольку строка соответствует формату, приведенному в табл. 2.4,
MySQL преобразует ее для вас в дату.
• Количество и типы столбцов и предоставляемых значений должны
совпадать. Если указывается семь столбцов и предоставляется толь
ко шесть значений, или если предоставленные значения не могут
быть преобразованы в соответствующий тип данных для соответст
вующего столбца, вы получите ошибку.
Вильям также предоставил информацию о своих любимых блюдах.
Вот три выражения вставки, позволяющих записать его кулинарные
предпочтения:
mysql>
INSERT INTO favorite_food (person_id, food) >
VALUES (1, 'pizza'); Query OK, 1 row affected (0.01 sec)