Базы данных - MySQL - статьи


Что б такого сотворить - часть 3


  (NULL, "Paranoyd eyes", "Pink Floyd",""),

  (NULL, "Get your filthy hands off my desert", "Pink Floyd",""),

  (NULL, "The fletcher memorial home", "Pink Floyd",""),

  (NULL, "Southampton dock", "Pink Floyd",""),

  (NULL, "The final cut", "Pink Floyd",""),

  (NULL, "Hot now john", "Pink Floyd",""),

  (NULL, "Two suns in the sunset", "Pink Floyd","");

Нужно присоединить эти песни к диску -для этого заполним таблицу songs_on_cd. Смотрим в соответствующих таблицах, под каким номером находятся песни, а под каким номером - диск. Это можно сделать с помощью команды select: Mysql>select * from cd; Mysql>select * from songs;

Или просмотрев таблицы с помощью графической оболочки.


Из рисунка видно, что нужно добавить песни с номерами 1-12 к диску номер 1: Mysql>insert into songs_on_cd values (1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (1,8), (1,9), (1,10), (1,11), (1,12);

Аналогично добавляем альбом 1999 года "Red Hot Chili Peppers" "Californication".

Если возникнет необходимость посмотреть, какие песни на каком диске находятся, можно воспользоваться sql-командой select. Например, чтобы посмотреть, что находится на диске Californication (см. рис. 3), набираем следующую команду:

mysql> select songs.song_name as song, songs.autor_name as autor
from songs, songs_on_cd, cd
where songs.song_id=songs_on_cd.song_id and
cd.cd_id=songs_on_cd.cd_id and cd.name="Californication";


Если мы хотим на время отдать диск кому-то из друзей, то для начала нужно будет ввести координаты этого человека в базу, а потом зафиксировать передачу диска. Вот как это выглядит на языке sql:

Mysql>insert into people values
  (NULL, "Ivanov Ivan", "st. Lenina 53,34", "4523412", "ivan@mail.ru");

Передаем диск:

Mysql> insert into take_disk values (1,1);

И последний пример - посмотрим, у кого находится диск "The Final Cut" (см. рис. 4):

mysql> select people.name as "Name", people.addr as "Address",
people.phonnum as "Phone", people.email from people, cd, take_disk
where take_disk.cd_id=cd.cd_id and take_disk.p_id=people.p_id and
cd.name='The Final Cut';


Хотя команда и получилась громоздкой, но она прекрасно работает даже в случае, если бы в базе было несколько тысяч записей.




- Начало -  - Назад -  - Вперед -