Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 355

для работы с кортежем (круглыми скобками и запятой), попробуйте следующее:

>>> for row in db.execute(sql):

... print(row[0])

...

Perdido Street Station

Small Gods

The Spellman Files

The Weirdstone of Brisingamen

Thud!

Если хотите проигнорировать начальное слово 'The' в заголовках, вам нужно

написать еще одну строку SQL:

>>> sql = '''select title from book order by

... case when (title like "The %") then substr(title, 5) else title end'''

>>> for row in db.execute(sql):

... print(row[0])

...

Perdido Street Station

Small Gods

The Spellman Files

Thud!

The Weirdstone of Brisingamen

9. Считайте и выведите на экран все графы таблицы book в порядке публикации:

>>> for row in db.execute('select * from book order by year'):

... print(row)

Глава 8. Данные должны куда-то попадать

461

...

('The Weirdstone of Brisingamen', 'Alan Garner', 1960)

('Small Gods', 'Terry Pratchett', 1992)

('Perdido Street Station', 'China Miéville', 2000)

('Thud!', 'Terry Pratchett', 2005)

('The Spellman Files', 'Lisa Lutz', 2007)

Чтобы вывести на экран все поля каждого ряда, просто разделите их запятой

и пробелом:

>>> for row in db.execute('select * from book order by year'):

... print(*row, sep=', ')

...

The Weirdstone of Brisingamen, Alan Garner, 1960

Small Gods, Terry Pratchett, 1992

Perdido Street Station, China Miéville, 2000

Thud!, Terry Pratchett, 2005

The Spellman Files, Lisa Lutz, 2007

10. Используйте модуль sqlalchemy, чтобы подключиться к базе данных sqlite3 bo-

oks.db, которую вы только что создали в упражнении 6. Как и в упражнении 8,

считайте и выведите на экран графу title таблицы book в алфавитном порядке:

>>> import sqlalchemy

>>> conn = sqlalchemy.create_engine('sqlite:///books.db')

>>> sql = 'select title from book order by title asc'

>>> rows = conn.execute(sql)

>>> for row in rows: