Προαπαιτούμενο:
Πρέπει να ολοκληρώσετε τις ακόλουθες εργασίες πριν εξασκήσετε τις δηλώσεις SQLite αυτού του σεμιναρίου:
Α. Εκτελέστε την ακόλουθη εντολή για να δημιουργήσετε ένα αρχείο SQLite με το όνομα 'company.db' που περιέχει τους πίνακες της βάσης δεδομένων:
sqlite3 company.db
Β. Εκτελέστε την ακόλουθη εντολή SQLite για να ελέγξετε εάν η βάση δεδομένων έχει δημιουργηθεί ή όχι:
.βάσεις δεδομένων
Γ. Εκτελέστε την ακόλουθη πρόταση SQL για να δημιουργήσετε έναν πίνακα με το όνομα 'products'. Ο πίνακας περιέχει πέντε πεδία και ένα πρωτεύον κλειδί:
ΔΗΜΙΟΥΡΓΩ ΤΡΑΠΕΖΙ προϊόντα (
ταυτότητα ΑΚΕΡΑΙΟΣ ΑΡΙΘΜΟΣ ΠΡΩΤΑΡΧΙΚΟΣ ΚΛΕΙΔΙ ,
όνομα ΚΕΙΜΕΝΟ ΔΕΝ ΜΗΔΕΝΙΚΟ ΜΟΝΑΔΙΚΟΣ ,
ΤΥΠΟΣ ΚΕΙΜΕΝΟ ΔΕΝ ΜΗΔΕΝΙΚΟ ,
μάρκας TEXT ΔΕΝ ΜΗΔΕΝΙΚΟ ,
τιμή INETEGER ΔΕΝ ΜΗΔΕΝΙΚΟ ) ;
Δ. Εκτελέστε την ακόλουθη πρόταση SQL για να δημιουργήσετε έναν πίνακα με το όνομα 'suppliers'. Ο πίνακας περιέχει πέντε πεδία, ένα πρωτεύον κλειδί και ένα ξένο κλειδί. Έτσι, ο πίνακας 'προϊόντα' και ο πίνακας 'προμηθευτές' συνδέονται με το ξένο κλειδί:
ΔΗΜΙΟΥΡΓΩ ΤΡΑΠΕΖΙ προμηθευτές (
ταυτότητα ΑΚΕΡΑΙΟΣ ΑΡΙΘΜΟΣ ΠΡΩΤΑΡΧΙΚΟΣ ΚΛΕΙΔΙ ,
όνομα ΚΕΙΜΕΝΟ ΔΕΝ ΜΗΔΕΝΙΚΟ ΜΟΝΑΔΙΚΟΣ ,
διεύθυνση TEXT ΔΕΝ ΜΗΔΕΝΙΚΟ ,
μάρκας TEXT ΔΕΝ ΜΗΔΕΝΙΚΟ ,
product_id INETEGER ΔΕΝ ΜΗΔΕΝΙΚΟ ,
ΞΕΝΟ ΚΛΕΙΔΙ ( product_id ) ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ προϊόντα ( ταυτότητα ) ) ;
Ε. Εκτελέστε τις απαραίτητες εντολές για να μορφοποιήσετε την έξοδο και ελέγξτε τη δομή του πίνακα «προϊόντων» με κεφαλίδα και μορφή πίνακα.
Η ακόλουθη εντολή εμφανίζει την κεφαλίδα της εξόδου:
.κεφαλίδα επάνω
Η ακόλουθη εντολή εμφανίζει την έξοδο που βασίζεται σε στήλη:
στήλη .modeΗ ακόλουθη εντολή εμφανίζει τη δομή του πίνακα 'προϊόντα' σε μορφή πίνακα:
pragma table_info ( 'προϊόντα' ) ;Η δομή του πίνακα «προϊόντα» φαίνεται στην παρακάτω εικόνα με την επικεφαλίδα:
Σύνταξη:
Η σύνταξη της εντολής SQL για την απόρριψη της στήλης του πίνακα δίνεται παρακάτω. Η πρόταση ALTER TABLE χρησιμοποιείται για τη διαγραφή ή την προσθήκη της στήλης του πίνακα.
ΑΛΛΑΖΩ ΤΡΑΠΕΖΙ TABLE_NAME ΠΤΩΣΗ ΣΤΗΛΗ στήλη_όνομα;Διαφορετικά παραδείγματα για απόθεση στήλης από τον πίνακα SQLite
Οι τρεις τρόποι απόρριψης της στήλης από έναν πίνακα SQLite εμφανίζονται σε αυτό το μέρος του σεμιναρίου.
Παράδειγμα 1: Αφαιρέστε τη στήλη από τον πίνακα
Εκτελέστε την ακόλουθη δήλωση ALTER TABLE για να αφαιρέσετε το πεδίο 'brand' από το 'product μικρό ” πίνακας:
ΑΛΛΑΖΩ ΤΡΑΠΕΖΙ προϊόντα ΠΤΩΣΗ ΣΤΗΛΗ μάρκα;Εκτελέστε την ακόλουθη εντολή SQLite για να ελέγξετε εάν το πεδίο 'brand' έχει διαγραφεί ή όχι από τον πίνακα 'products':
pragma table_info ( 'προϊόντα' ) ;Η έξοδος δείχνει ότι το πεδίο 'μάρκα' έχει αφαιρεθεί από τον πίνακα 'προϊόντα'.
Παράδειγμα 2: Ρίξτε τη στήλη από τον πίνακα που είναι πρωτεύον κλειδί
Το πρωτεύον κλειδί χρησιμοποιείται στον πίνακα για την αναγνώριση κάθε εγγραφής ξεχωριστά. Επομένως, το πρωτεύον δεν μπορεί να διαγραφεί από τον πίνακα και εμφανίζεται ένα σφάλμα εάν χρησιμοποιηθεί η πρόταση ALTER TABLE για την αφαίρεση του πεδίου πρωτεύοντος κλειδιού. Εκτελέστε την ακόλουθη δήλωση ALTER TABLE για να αφαιρέσετε το πεδίο 'id' από τον πίνακα 'products' που είναι το πρωτεύον κλειδί του πίνακα:
ΑΛΛΑΖΩ ΤΡΑΠΕΖΙ προϊόντα ΠΤΩΣΗ ΣΤΗΛΗ ταυτότητα;Το ακόλουθο σφάλμα εμφανίζεται εάν θέλετε να απορρίψετε το πρωτεύον κλειδί του πίνακα:
Παράδειγμα 3: Ρίξτε μια στήλη από τον πίνακα που είναι ξένο κλειδί
Όπως το πρωτεύον κλειδί, το ξένο κλειδί του πίνακα δεν μπορεί να απορριφθεί μέχρι να καταργηθεί η σχέση μεταξύ των πινάκων. Εκτελέστε την ακόλουθη δήλωση ALTER TABLE για να αφαιρέσετε το πεδίο 'product_id' από τον πίνακα 'suppliers' που είναι ξένο προς τον πίνακα:
ΑΛΛΑΖΩ ΤΡΑΠΕΖΙ προμηθευτές ΠΤΩΣΗ ΣΤΗΛΗ product_id;Το ακόλουθο σφάλμα εμφανίζεται εάν θέλετε να απορρίψετε το ξένο κλειδί του πίνακα:
συμπέρασμα
Τρεις διαφορετικοί τύποι παραδειγμάτων παρουσιάζονται σε αυτό το σεμινάριο για την απόρριψη μιας στήλης από έναν πίνακα SQLite όπου εξετάζεται ότι τα πεδία πρωτεύοντος και ξένου κλειδιού του πίνακα δεν μπορούν να διαγραφούν.