計算機科学のブログ

ほしい物リスト

Python - SQL - Databases: Getting Organized - for loop, insert

Head First Python: A Learner’s Guide to the Fundamentals of Python Programming, A Brain-Friendly GuidePaul Barry(著)、 O’Reilly Mediaの Chapter 12.(Databases: Getting Organized)、EXERCISE(554/682)の解答を求めてみる。

Jupyter(コード、入出力結果)

webapp/PopulateTables.ipynb

with DBcm.UseDatabase(db_details) as db:
    for file in files:
        name, age, *_ = file.removesuffix('.txt').split('-')
        db.execute(SQL_INSERT, (name, age,))
SQL = '''
select * from swimmers
'''
with DBcm.UseDatabase(db_details) as db:
    db.execute(SQL)
    results = db.fetchall()
results
[(66, 'Hannah', 13),
 (67, 'Darius', 13),
 (68, 'Owen', 15),
 (69, 'Mike', 15),
 (70, 'Hannah', 13),
 (71, 'Mike', 15),
 (72, 'Mike', 15),
 (73, 'Abi', 10),
 (74, 'Ruth', 13),
 (75, 'Tasmin', 15),
 (76, 'Erika', 15),
 (77, 'Ruth', 13),
 (78, 'Abi', 10),
 (79, 'Maria', 9),
 (80, 'Elba', 14),
 (81, 'Tasmin', 15),
 (82, 'Abi', 10),
 (83, 'Abi', 10),
 (84, 'Mike', 15),
 (85, 'Ali', 12),
 (86, 'Ruth', 13),
 (87, 'Chris', 17),
 (88, 'Ali', 12),
 (89, 'Darius', 13),
 (90, 'Ruth', 13),
 (91, 'Aurora', 13),
 (92, 'Katie', 9),
 (93, 'Alison', 14),
 (94, 'Ruth', 13),
 (95, 'Emma', 13),
 (96, 'Calvin', 9),
 (97, 'Darius', 13),
 (98, 'Mike', 15),
 (99, 'Emma', 13),
 (100, 'Tasmin', 15),
 (101, 'Blake', 15),
 (102, 'Abi', 10),
 (103, 'Chris', 17),
 (104, 'Blake', 15),
 (105, 'Bill', 18),
 (106, 'Darius', 13),
 (107, 'Dave', 17),
 (108, 'Alison', 14),
 (109, 'Lizzie', 14),
 (110, 'Katie', 9),
 (111, 'Katie', 9),
 (112, 'Katie', 9),
 (113, 'Lizzie', 14),
 (114, 'Tasmin', 15),
 (115, 'Katie', 9),
 (116, 'Dave', 17),
 (117, 'Erika', 15),
 (118, 'Calvin', 9),
 (119, 'Calvin', 9),
 (120, 'Carl', 15),
 (121, 'Bill', 18),
 (122, 'Katie', 9),
 (123, 'Blake', 15),
 (124, 'Erika', 15),
 (125, 'Katie', 9)]