Přeskočit na obsah

Python/modul/sqlite3

Z Wikiverzity

sqlite3 je modul do Pythonu verze 3.x pro práci s databází SQLite.

Podstránky

[editovat]

Další příklady na využití tohoto modulu:

  • /Diary – aplikace na diář – distribuovaná ve formátu whl

Tutoriál

[editovat]

Předpokládáme, že máme v systému nainstalovanou databázi SQLite, ve které si vytvoříme testovací databázový soubor test.db

$ sqlite3 test.db
SQLite version 3.8.2 2013-12-06 14:53:30
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table seznam (id INTEGER, name, number INTEGER);
sqlite> insert into seznam values (1, 'Adam', 101);
sqlite> insert into seznam values (2, 'Božena', 202);
sqlite> insert into seznam values (3, 'Cyril', 303);
sqlite> insert into seznam values (4, 'David', 404);
sqlite> select * from seznam;
1|Adam|101
2|Božena|202
3|Cyril|303
4|David|404
sqlite> 

Nyní si napíšeme jednoduchý skript, který nám vypíše obsah této databáze, kterou uložíme do stejného adresáře jako skript:

#!/usr/bin/env python3

# Změníme current working directory:
import os
mydir = os.path.dirname(os.path.abspath(__file__))
os.chdir(mydir)

import sqlite3

db = sqlite3.connect('test.db')

def show(db):
    c = db.execute('SELECT * FROM seznam')
    rows = []
    while True:
        row = c.fetchone()
        if not row:
            break
        rows.append(row)
    return rows

print ('Seznam:\n------')
rows = show(db)
for row in rows:
    print ('{:2}  {:8}  {:4}'.format (row[0], row[1], row[2]))

Výsledkem bude:

Seznam:
------
 1  Adam       101
 2  Božena     202
 3  Cyril      303
 4  David      404