PostgreSQL ALTER Table: ADD Column, Μετονομασία στήλης/Παραδείγματα πίνακα
Η εντολή ALTER TABLE χρησιμοποιείται για την αλλαγή της δομής του a PostgreSQL τραπέζι. Είναι η εντολή που χρησιμοποιείται για την αλλαγή των στηλών του πίνακα ή του ονόματος του πίνακα.
Σύνταξη
Εδώ είναι η σύνταξη για το PostgreSQL Εντολή ALTER TABLE:
ALTER TABLE table-name action;
Η παράμετρος πίνακα-όνομα είναι το όνομα του πίνακα που πρέπει να αλλάξετε.
Η παράμετρος ενέργειας είναι η ενέργεια που πρέπει να εκτελέσετε, όπως αλλαγή του ονόματος μιας στήλης, αλλαγή του τύπου δεδομένων μιας στήλης κ.λπ.
Περιγραφή
Η εντολή ALTER TABLE αλλάζει τον ορισμό ενός υπάρχοντος πίνακα. Παίρνει τις ακόλουθες υποφόρμες:
- ΠΡΟΣΘΗΚΗ ΣΤΗΛΗΣ: χρησιμοποιεί παρόμοια σύνταξη με την εντολή CREATE TABLE για να προσθέσει μια νέα στήλη σε έναν πίνακα.
- ΣΤΗΛΗ ΠΤΩΣΗΣ: για απόθεση στήλης πίνακα. Οι περιορισμοί και τα ευρετήρια που επιβάλλονται στις στήλες θα απορριφθούν επίσης.
- ΡΥΘΜΙΣΗ/ΑΠΟΣΤΟΛΗ ΠΡΟΕΠΙΛΟΓΗ: Χρησιμοποιείται για την αφαίρεση της προεπιλεγμένης τιμής για μια στήλη. Ωστόσο, η αλλαγή θα ισχύει μόνο για τα επόμενα ΕΙΣΑΓΩΓΗ δηλώσεις.
- SET/DROP NOT NULL: Αλλάζει εάν μια στήλη θα επιτρέπει μηδενικά ή όχι.
- ΣΕΤ ΣΤΑΤΙΣΤΙΚΩΝ: Για τον ορισμό του στόχου συλλογής στατιστικών στοιχείων για κάθε στήλη για λειτουργίες ANALYZE.
- ΡΥΘΜΙΣΗ ΑΠΟΘΗΚΕΥΣΗΣ: Για τη ρύθμιση του τρόπου αποθήκευσης για μια στήλη. Αυτό θα καθορίσει πού θα κρατηθεί η στήλη, είτε είναι ενσωματωμένη είτε σε συμπληρωματικό πίνακα.
- ΣΕΤ ΧΩΡΙΣ ΟΙΔΙΑ: Χρησιμοποιείται για την αφαίρεση της παλιάς στήλης του πίνακα.
- ΜΕΤΟΝΟΜΑΖΩ: για την αλλαγή του ονόματος του πίνακα ή ενός ονόματος στήλης.
- ΠΡΟΣΘΗΚΗ πίνακα_περιορισμού: Χρήση για την προσθήκη νέου περιορισμού σε έναν πίνακα Χρησιμοποιεί την ίδια σύνταξη με Δημιουργία πίνακα εντολή.
- ΠΡΟΣΤΑΤΕΥΤΙΚΗ ΣΥΣΚΕΥΗ: Χρησιμοποιείται για απόρριψη περιορισμού πίνακα.
- ΙΔΙΟΚΤΗΤΗΣ: για την αλλαγή του κατόχου ενός πίνακα, ακολουθίας, ευρετηρίου ή προβολής σε συγκεκριμένο χρήστη.
- CLUSTER: για τη σήμανση ενός πίνακα που θα χρησιμοποιηθεί για την εκτέλεση μελλοντικών λειτουργιών συμπλέγματος.
Τροποποίηση στήλης
Μια στήλη μπορεί να τροποποιηθεί με διάφορους τρόπους. Τέτοιες τροποποιήσεις μπορούν να γίνουν χρησιμοποιώντας την εντολή ALTER TABLE. Ας συζητήσουμε αυτά:
Προσθήκη νέας στήλης
Για να προσθέσετε μια νέα στήλη στο a PostgreSQL πίνακα, η εντολή ALTER TABLE χρησιμοποιείται με την ακόλουθη σύνταξη:
ALTER TABLE table-name ADD new-column-name column-definition;
Το όνομα του πίνακα είναι το όνομα του πίνακα που πρόκειται να τροποποιηθεί.
Το όνομα της νέας στήλης είναι το όνομα της νέας στήλης που θα προστεθεί.
Ο ορισμός της στήλης είναι το Τύπος δεδομένων της νέας στήλης.
Δείτε τον πίνακα Βιβλίων που φαίνεται παρακάτω:
Ο πίνακας έχει δύο στήλες, το αναγνωριστικό και το όνομα. Πρέπει να προσθέσουμε μια νέα στήλη στον πίνακα και να της δώσουμε το όνομα συγγραφέας. Απλώς εκτελέστε την ακόλουθη εντολή:
ALTER TABLE Book ADD author VARCHAR(50);
Αφού εκτελέσετε την παραπάνω εντολή, ο πίνακας Book έχει πλέον ως εξής:
Η νέα στήλη προστέθηκε με επιτυχία.
Μετονομασία στήλης πίνακα
Μπορούμε να χρησιμοποιήσουμε την εντολή ALTER TABLE για να αλλάξουμε το όνομα μιας στήλης. Σε αυτήν την περίπτωση, η εντολή χρησιμοποιείται με την ακόλουθη σύνταξη:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Το όνομα πίνακα είναι το όνομα του πίνακα του οποίου η στήλη πρόκειται να μετονομαστεί.
Το παλιό όνομα είναι το παλιό/τρέχον όνομα της στήλης.
Το νέο όνομα είναι το νέο όνομα της στήλης. Εξετάστε τον πίνακα Βιβλίο που φαίνεται παρακάτω:
Βιβλίο:
Χρειαζόμαστε το όνομα του συγγραφέα της στήλης για να book_author. Εδώ είναι η εντολή:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Αφού εκτελέσουμε την εντολή, μπορούμε να δούμε τη δομή του πίνακα:
Το όνομα της στήλης άλλαξε με επιτυχία.
Ορισμός προεπιλεγμένης τιμής για στήλη
Μπορούμε να ορίσουμε μια προεπιλεγμένη τιμή για μια στήλη έτσι ώστε ακόμη και όταν δεν ορίζετε μια τιμή για αυτήν τη στήλη κατά τη διάρκεια των λειτουργιών INSERT, να χρησιμοποιείται η προεπιλεγμένη τιμή. Σε αυτήν την περίπτωση, η εντολή ALTER TABLE μπορεί να χρησιμοποιηθεί με την ακόλουθη σύνταξη:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Το όνομα πίνακα είναι το όνομα του πίνακα του οποίου η στήλη πρόκειται να τροποποιηθεί.
Το όνομα στήλης είναι το όνομα για το οποίο θα οριστεί η προεπιλεγμένη τιμή.
Η τιμή είναι η προεπιλεγμένη τιμή για τη στήλη.
Εξετάστε τον πίνακα Βιβλίων που δίνεται παρακάτω:
Πρέπει να ορίσουμε μια προεπιλεγμένη τιμή για τη στήλη book_author. Μπορούμε να εκτελέσουμε την ακόλουθη εντολή:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Τώρα, ας εισαγάγουμε μια σειρά στον πίνακα:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Σημειώστε ότι εισαγάγαμε τιμές μόνο για δύο στήλες, το αναγνωριστικό και το όνομα. Ωστόσο, η προεπιλεγμένη τιμή έχει χρησιμοποιηθεί για τη στήλη book_author:
Προσθήκη περιορισμού ελέγχου
Ένας περιορισμός ελέγχου βοηθά στην επικύρωση των εγγραφών που εισάγονται σε έναν πίνακα. Μπορούμε να το κάνουμε αυτό συνδυάζοντας την εντολή ALTER TABLE με την πρόταση ADD CHECK. Σύνταξη:
ALTER TABLE table-name ADD CHECK expression;
Το όνομα του πίνακα είναι το όνομα του πίνακα που πρόκειται να τροποποιηθεί.
Η έκφραση είναι ο περιορισμός που πρέπει να επιβληθεί στη στήλη του πίνακα.
Ας τροποποιήσουμε τη στήλη book_author του πίνακα Βιβλίο έτσι ώστε να δέχεται μόνο τις τιμές Nicholas και Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Τώρα, ας προσπαθήσουμε να εισαγάγουμε μια τιμή διαφορετική από τον Nicholas ή τον Samuel στη στήλη book_author του πίνακα Βιβλίο:
INSERT INTO Book VALUES(7, 'καλυτερα PostgreSQL Book', 'Gregory Bush');
Η δήλωση θα επιστρέψει το ακόλουθο σφάλμα:
Η λειτουργία εισαγωγής απέτυχε επειδή παραβιάσαμε τον περιορισμό ελέγχου.
Μετονομασία πίνακα
Ακολουθεί η σύνταξη για την εντολή ALTER TABLE για τη μετονομασία ενός πίνακα:
ALTER TABLE table-name RENAME TO new-table-name;
Το όνομα του πίνακα είναι το τρέχον όνομα του πίνακα.
Το νέο όνομα πίνακα είναι το νέο όνομα που θα εκχωρηθεί στον πίνακα.
Για παράδειγμα, ας αλλάξουμε το όνομα του πίνακα Βιβλία σε Βιβλία:
ALTER TABLE Book RENAME TO Books;
Χρήση του pgAdmin
Τώρα ας δούμε πώς μπορούν να εκτελεστούν αυτές οι ενέργειες χρησιμοποιώντας το pgAdmin.
Προσθήκη νέας στήλης
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
ALTER TABLE Book ADD author VARCHAR(50);
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Βήμα 5) Για να ελέγξετε αν προστέθηκε η στήλη, κάντε τα εξής:
- Κάντε κλικ στην επιλογή Βάσεις δεδομένων από το αριστερό μενού πλοήγησης.
- Αναπτύξτε το Demo.
- Αναπτύξτε τα σχήματα.
- Αναπτύξτε το Public.
- Αναπτύξτε τους πίνακες.
- Αναπτύξτε το βιβλίο.
- Αναπτύξτε τις Στήλες.
Η στήλη θα έπρεπε να έχει προστεθεί, όπως φαίνεται παρακάτω:
Μετονομασία στήλης πίνακα
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Βήμα 5) Για να ελέγξετε αν η αλλαγή ήταν επιτυχής, κάντε τα εξής:
- Κάντε κλικ στην επιλογή Βάσεις δεδομένων από το αριστερό μενού πλοήγησης.
- Αναπτύξτε το Demo.
- Αναπτύξτε τα σχήματα.
- Αναπτύξτε το Public.
- Αναπτύξτε τους πίνακες.
- Αναπτύξτε το βιβλίο.
- Αναπτύξτε τις Στήλες.
Οι στήλες πρέπει τώρα να είναι οι εξής:
Η στήλη άλλαξε με επιτυχία.
Ορισμός προεπιλεγμένης τιμής για στήλη
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Βήμα 5) Για δοκιμή, εκτελέστε την ακόλουθη εντολή στο πρόγραμμα επεξεργασίας ερωτημάτων:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Βήμα 6) Τώρα, μπορούμε να υποβάλουμε ερώτημα στον πίνακα για να ελέγξουμε εάν η προεπιλεγμένη τιμή εισήχθη στη στήλη book_author:
Προσθήκη περιορισμού ελέγχου
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Βήμα 5) Για να το δοκιμάσετε, κάντε τα εξής:
- Πληκτρολογήστε το ακόλουθο ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
INSERT INTO Book VALUES(7, 'καλυτερα PostgreSQL Book', 'Gregory Bush');
- Κάντε κλικ στο κουμπί Εκτέλεση.
Θα επιστρέψει τα εξής:
Μετονομασία πίνακα
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
ALTER TABLE Book RENAME TO Books;
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Βήμα 5) Για να ελέγξετε αν ο πίνακας μετονομάστηκε, κάντε τα εξής:
- Κάντε κλικ στην επιλογή Βάσεις δεδομένων από το αριστερό μενού πλοήγησης.
- Αναπτύξτε το Demo.
- Αναπτύξτε τα σχήματα.
- Αναπτύξτε το Public.
- Αναπτύξτε τους πίνακες.
Ο πίνακας μετονομάστηκε με επιτυχία.
Περίληψη
- Η πρόταση ALTER TABLE χρησιμοποιείται για την τροποποίηση της δομής του πίνακα.
- Η εντολή ALTER TABLE παίρνει διάφορες μορφές ανάλογα με την εργασία που πρέπει να εκτελέσετε.
- Η δομή μπορεί να είναι οι στήλες του πίνακα ή ο ίδιος ο πίνακας.
- Μπορούμε να χρησιμοποιήσουμε αυτή τη δήλωση για να αλλάξουμε το όνομα ενός πίνακα.
- Η εντολή ALTER TABLE μπορεί να χρησιμοποιηθεί για να ορίσετε την προεπιλεγμένη τιμή μιας στήλης.
- Η δήλωση μπορεί να χρησιμοποιηθεί για την επικύρωση των τιμών που εισάγονται σε μια στήλη πίνακα.
Κάντε λήψη της βάσης δεδομένων που χρησιμοποιείται σε αυτό το σεμινάριο

























