Δημιουργία πίνακα:
import sqlite3
databaseonoma="/h/diadromi/apodixis.db"
syndesi = sqlite3.connect(databaseonoma)
curr = syndesi.cursor()
curr.execute("""
CREATE TABLE [epixirisis] (
[afm] VARCHAR NOT NULL UNIQUE ON CONFLICT FAIL,
[doy] VARCHAR NOT NULL,
[eponimia] VARCHAR NOT NULL,
[dieythinsi] VARCHAR NOT NULL,
[thlefono] VARCHAR,
PRIMARY KEY ([afm]))
""")
syndesi.commit()
syndesi.close()
Επεξήγηση:
import sqlite3 --> Εισάγουμε το module της sqlite3.
databaseonoma='/h/diadromi/apodixis.db' --> Ορίζουμε τη διαδρομή της βάσης. Αν αυτή δεν υπάρχει δημιουργείται.
syndesi = sqlite3.connect(databaseonoma) --> Δημιουργούμε τη σύνδεση της βάσης με τη sqlite3.
curr = syndesi.cursor() --> Δημιουργούμε το αντικείμενο cursor.
curr.execute("""CREATE .... """) --> Εκτελούμε το ερώτημα δημιουργίας του πίνακα των επιχειρήσεων. Έχω ορίσει όλα τα πεδία ως VARCHAR για εξοικονόμηση χώρου και ελαστικότητα στις τιμές που θα δώσουμε.
ON CONFLICT FAIL --> Δηλώνει ότι αν το ΑΦΜ υπάρχει ήδη στον πίνακα όταν θα εισάγουμε εγγραφές η εισαγωγή θα αποτύχει.
PRIMARY KEY ([afm]) --> Ορίζουμε το ΑΦΜ ως μοναδικό κλειδί του πίνακα (κάθε επιχειρήση ή φυσικό πρόσωπο έχει μόνο ένα ΑΦΜ. Έτσι δεν είναι;
).
syndesi.commit() --> Κάνουμε commit το ερώτημα για να αποθηκευτεί. Αν δεν γίνει πιθανόν να μη δημιουργηθεί ο πίνακας.
syndesi.close() --> Κλείνουμε τη σύνδεση.