2026-01-29 06:54:10 +01:00
|
|
|
|
TASK: Create an SQLite schema for a library system (books, authors), insert 5 sample records, and generate a SQL dump to 'db_migration.sql'.
|
|
|
|
|
|
----------------------------------------
|
|
|
|
|
|
Loading...
|
|
|
|
|
|
|
2026-01-29 07:42:06 +01:00
|
|
|
|
[1;34m┌─── Python Source Code ─────────────────────────────────────[0m
|
|
|
|
|
|
[1;34m│[0m [2m 1 |[0m [34mimport[0m[33m sqlite3[0m
|
|
|
|
|
|
[1;34m│[0m [2m 2 |[0m # Connect to an in-memory database[0m
|
|
|
|
|
|
[1;34m│[0m [2m 3 |[0m conn = sqlite3.connect(':memory:')[0m
|
|
|
|
|
|
[1;34m│[0m [2m 4 |[0m cur = conn.cursor()[0m
|
2026-01-29 08:06:31 +01:00
|
|
|
|
[1;34m│[0m [2m 5 |[0m # Create tables[0m
|
|
|
|
|
|
[1;34m│[0m [2m 6 |[0m cur.execute('''CREATE TABLE authors ([0m
|
|
|
|
|
|
[1;34m│[0m [2m 7 |[0m id INTEGER PRIMARY KEY AUTOINCREMENT,[0m
|
|
|
|
|
|
[1;34m│[0m [2m 8 |[0m name TEXT NOT NULL,[0m
|
|
|
|
|
|
[1;34m│[0m [2m 9 |[0m birth_year INTEGER[0m
|
|
|
|
|
|
[1;34m│[0m [2m 10 |[0m );''')[0m
|
|
|
|
|
|
[1;34m│[0m [2m 11 |[0m cur.execute('''CREATE TABLE books ([0m
|
2026-01-29 07:42:06 +01:00
|
|
|
|
[1;34m│[0m [2m 12 |[0m id INTEGER PRIMARY KEY AUTOINCREMENT,[0m
|
|
|
|
|
|
[1;34m│[0m [2m 13 |[0m title TEXT NOT NULL,[0m
|
|
|
|
|
|
[1;34m│[0m [2m 14 |[0m author_id INTEGER,[0m
|
2026-01-29 08:06:31 +01:00
|
|
|
|
[1;34m│[0m [2m 15 |[0m published_year INTEGER,[0m
|
|
|
|
|
|
[1;34m│[0m [2m 16 |[0m FOREIGN KEY(author_id) REFERENCES authors(id)[0m
|
|
|
|
|
|
[1;34m│[0m [2m 17 |[0m );''')[0m
|
|
|
|
|
|
[1;34m│[0m [2m 18 |[0m # Insert sample authors[0m
|
|
|
|
|
|
[1;34m│[0m [2m 19 |[0m authors = [[0m
|
|
|
|
|
|
[1;34m│[0m [2m 20 |[0m ('Jane Austen', [36m1775[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 21 |[0m ('Charles Dickens', [36m1812[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 22 |[0m ('Leo Tolstoy', [36m1828[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 23 |[0m ('Mark Twain', [36m1835[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 24 |[0m ('Virginia Woolf', [36m1882[0m[33m)[0m
|
|
|
|
|
|
[1;34m│[0m [2m 25 |[0m ][0m
|
|
|
|
|
|
[1;34m│[0m [2m 26 |[0m cur.executemany('INSERT INTO authors (name, birth_year) VALUES (?, ?);', authors)[0m
|
|
|
|
|
|
[1;34m│[0m [2m 27 |[0m # Insert sample books[0m
|
|
|
|
|
|
[1;34m│[0m [2m 28 |[0m books = [[0m
|
|
|
|
|
|
[1;34m│[0m [2m 29 |[0m ('Pride and Prejudice', [36m1[0m[33m, [36m1813[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 30 |[0m ('Great Expectations', [36m2[0m[33m, [36m1861[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 31 |[0m ('War and Peace', [36m3[0m[33m, [36m1869[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 32 |[0m ('Adventures of Huckleberry Finn', [36m4[0m[33m, [36m1884[0m[33m),[0m
|
|
|
|
|
|
[1;34m│[0m [2m 33 |[0m ('Mrs. Dalloway', [36m5[0m[33m, [36m1925[0m[33m)[0m
|
|
|
|
|
|
[1;34m│[0m [2m 34 |[0m ][0m
|
|
|
|
|
|
[1;34m│[0m [2m 35 |[0m cur.executemany('INSERT INTO books (title, author_id, published_year) VALUES (?, ?, ?);', books)[0m
|
|
|
|
|
|
[1;34m│[0m [2m 36 |[0m # Generate dump[0m
|
|
|
|
|
|
[1;34m│[0m [2m 37 |[0m [34mwith[0m[33m open('db_migration.sql', 'w') [34mas[0m[33m f:[0m
|
|
|
|
|
|
[1;34m│[0m [2m 38 |[0m [34mfor[0m[33m line in conn.iterdump():[0m
|
|
|
|
|
|
[1;34m│[0m [2m 39 |[0m f.write('%s\n' % line)[0m
|
|
|
|
|
|
[1;34m│[0m [2m 40 |[0m conn.close()[0m
|
2026-01-29 07:42:06 +01:00
|
|
|
|
[1;34m└────────────────────────────────────────────────────────────[0m
|
2026-01-29 08:06:31 +01:00
|
|
|
|
The SQLite schema for a library system has been created, sample records inserted, and a SQL dump has been generated in the file 'db_migration.sql'.
|