мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
python:week24 [11/03/2021 12:48] – создано Admin Adminovichpython:week24 [20/03/2021 01:02] – [Выборка данных] Admin Adminovich
Строка 16: Строка 16:
 </code> </code>
  
-===== Вставка данных =====+====== Вставка данных ======
  
 <code python> <code python>
Строка 25: Строка 25:
 </code> </code>
  
-===== Выборка данных =====+====== Выборка данных =====
 + 
 +<code python> 
 +q = 'SELECT id, name FROM users' 
 +cur.execute(q) 
 +rows = cur.fetchall() 
 + 
 +for row in rows: 
 +    print(row) 
 +     
 +q = 'SELECT id, name FROM users WHERE id > 10' 
 +cur.execute(q) 
 +rows = cur.fetchall() 
 + 
 +for row in rows: 
 +    print(row) 
 +</code> 
 + 
 + 
 +Пусть у нас есть три таблички: users (id, user), cities (id, city), users2cities (user_id, city_id).  
 + 
 +Содержимое таблицы users 
 + 
 +^ id ^ user ^ 
 +| 1 | Вася | 
 +| 2 | Дима | 
 +| 3 | Марина | 
 + 
 +Содержимое таблицы cities 
 + 
 +^ id ^ city ^ 
 +| 1 | Москва | 
 +| 2 | Новосибирск | 
 +| 3 | Казань | 
 +| 4 | Владивосток | 
 + 
 +Содержимое таблицы users2cities 
 + 
 +^ id ^ city ^ 
 +| 1 | 1 | 
 +| 2 | 1 | 
 +| 3 | 2 | 
 + 
 +Предположим, мы хотим найти всех москвичей. Для этого, нам нужно сначала cконструировать запрос, дающий номер, который соответствует Москве:  
 + 
 +  SELECT id from cities WHERE city='Москва' 
 + 
 +Теперь надо нам выяснить у каких пользователей Москва прописана как город:  
 + 
 +  SELECT users2city.user_id FROM users2city WHERE users2city.city_id in (SELECT id from cities WHERE city='Москва'
 + 
 +И, наконец, найдем имена этих пользователей:  
 + 
 +SELECT user FROM users WHERE id in (SELECT users2city.user_id FROM users2city WHERE users2city.city_id in (SELECT id from cities WHERE city='Москва')) 
  
 <code python> <code python>