Πίνακας PostgreSQL ALTER: ADD Column, Rename Column / Table Παραδείγματα

Η εντολή ALTER TABLE χρησιμοποιείται για να αλλάξει τη δομή ενός πίνακα PostgreSQL. Είναι η εντολή που χρησιμοποιείται για να αλλάξετε τις στήλες του πίνακα ή το όνομα του πίνακα.

Σε αυτό το σεμινάριο, θα μάθετε:

  • Σύνταξη
  • Περιγραφή
  • Τροποποίηση στήλης
    • Προσθήκη νέας στήλης
    • Μετονομασία στήλης πίνακα
  • Ορισμός μιας προεπιλεγμένης τιμής για μια στήλη
  • Προσθήκη περιορισμού ελέγχου
  • Μετονομασία πίνακα
  • Χρήση του pgAdmin

Σύνταξη

Εδώ είναι η σύνταξη για την εντολή PostgreSQL ALTER TABLE:

ALTER TABLE table-name action;

Η παράμετρος ονόματος πίνακα είναι το όνομα του πίνακα που πρέπει να αλλάξετε.

Η παράμετρος ενέργειας είναι η ενέργεια που πρέπει να εκτελέσετε, όπως αλλαγή του ονόματος μιας στήλης, αλλαγή του τύπου δεδομένων μιας στήλης κ.λπ.

Περιγραφή

Η εντολή ALTER TABLE αλλάζει τον ορισμό ενός υπάρχοντος πίνακα. Παίρνει τις ακόλουθες δευτερεύουσες μορφές:

  • ΠΡΟΣΘΗΚΗ ΣΤΗΛΗΣ : χρησιμοποιεί παρόμοια σύνταξη με την εντολή CREATE TABLE για να προσθέσει μια νέα στήλη σε έναν πίνακα.
  • DROP COLUMN : για να ρίξετε μια στήλη πίνακα. Οι περιορισμοί και τα ευρετήρια που επιβάλλονται στις στήλες επίσης θα απορριφθούν.
  • SET / DROP DEFAULT : Χρησιμοποιείται για την κατάργηση της προεπιλεγμένης τιμής για μια στήλη. Ωστόσο, η αλλαγή θα ισχύει μόνο για τις επόμενες δηλώσεις INSERT.
  • SET / DROP NOT NULL : Αλλάζει εάν μια στήλη θα επιτρέπει μηδενικά ή όχι.
  • ΡΥΘΜΙΣΗ ΣΤΑΤΙΣΤΙΚΩΝ: Για τον καθορισμό του στόχου συλλογής στατιστικών στοιχείων για κάθε στήλη για λειτουργίες ANALYZE.
  • ΡΥΘΜΙΣΗ ΑΠΟΘΗΚΕΥΣΗΣ : Για ρύθμιση του τρόπου αποθήκευσης για μια στήλη. Αυτό θα καθορίσει πού διατηρείται η στήλη, είτε είναι ενσωματωμένη είτε σε έναν συμπληρωματικό πίνακα.
  • ΡΥΘΜΙΣΤΕ ΧΩΡΙΣ ΟΔΗΓΙΑ : Χρησιμοποιήστε το για την αφαίρεση της παλιάς στήλης του πίνακα
  • RENAME : για αλλαγή του ονόματος του πίνακα ή του ονόματος της στήλης.
  • ΠΡΟΣΘΗΚΗ table_constraint : Χρήση για προσθήκη νέου περιορισμού σε πίνακα Χρησιμοποιεί την ίδια σύνταξη με την εντολή CREATE TABLE.
  • DROP CONSTRAINT : Χρησιμοποιείται για την πτώση ενός περιορισμού πίνακα.
  • ΚΑΤΟΧΟΣ : για αλλαγή κατόχου πίνακα, ακολουθίας, ευρετηρίου ή προβολής σε συγκεκριμένο χρήστη.
  • CLUSTER : για τη σήμανση ενός πίνακα που θα χρησιμοποιηθεί για την εκτέλεση μελλοντικών λειτουργιών συμπλέγματος.

Τροποποίηση στήλης

Μια στήλη μπορεί να τροποποιηθεί με διάφορους τρόπους. Τέτοιες τροποποιήσεις μπορούν να γίνουν χρησιμοποιώντας την εντολή ALTER TABLE. Ας συζητήσουμε τα εξής:

Προσθήκη νέας στήλης

Για να προσθέσετε μια νέα στήλη σε έναν πίνακα PostgreSQL, η εντολή ALTER TABLE χρησιμοποιείται με την ακόλουθη σύνταξη:

ALTER TABLE table-nameADD new-column-name column-definition;

Το όνομα πίνακα είναι το όνομα του πίνακα που πρόκειται να τροποποιηθεί.

Το όνομα της νέας στήλης είναι το όνομα της νέας στήλης που θα προστεθεί.

Ο ορισμός στήλης είναι ο τύπος δεδομένων της νέας στήλης.

Δείτε τον πίνακα βιβλίων που φαίνεται παρακάτω:

Ο πίνακας έχει δύο στήλες, id και όνομα. Πρέπει να προσθέσουμε μια νέα στήλη στον πίνακα και να του δώσουμε το όνομα συντάκτη. Απλώς εκτελέστε την ακόλουθη εντολή:

ALTER TABLE BookADD author VARCHAR(50);

Αφού εκτελέσετε την παραπάνω εντολή, ο πίνακας βιβλίων έχει ως εξής:

Η νέα στήλη προστέθηκε με επιτυχία.

Μετονομασία στήλης πίνακα

Μπορούμε να χρησιμοποιήσουμε την εντολή ALTER TABLE για να αλλάξουμε το όνομα μιας στήλης. Σε αυτήν την περίπτωση, η εντολή χρησιμοποιείται με την ακόλουθη σύνταξη:

ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;

Το όνομα πίνακα είναι το όνομα του πίνακα του οποίου η στήλη πρόκειται να μετονομαστεί.

Το παλιό όνομα είναι το παλιό / τρέχον όνομα της στήλης.

Το νέο όνομα είναι το νέο όνομα της στήλης. Εξετάστε τον πίνακα Βιβλίο που φαίνεται παρακάτω:

Βιβλίο:

Χρειαζόμαστε το όνομα του συντάκτη της στήλης για το book_author. Εδώ είναι η εντολή:

ALTER TABLE BookRENAME 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 του πίνακα Book, έτσι ώστε να δέχεται μόνο τις τιμές, Nicholas και Samuel:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));

Τώρα, ας προσπαθήσουμε να εισαγάγουμε μια τιμή διαφορετική από τον Νικόλαο ή τον Σαμουήλ στη στήλη book_author του πίνακα βιβλίων:

INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

Η δήλωση θα επιστρέψει το ακόλουθο σφάλμα:

Η λειτουργία εισαγωγής απέτυχε επειδή παραβιάσαμε τον περιορισμό ελέγχου.

Μετονομασία πίνακα

Ακολουθεί η σύνταξη της εντολής ALTER TABLE για τη μετονομασία ενός πίνακα:

ALTER TABLE table-nameRENAME TO new-table-name;

Το όνομα πίνακα είναι το τρέχον όνομα του πίνακα.

Το νέο-όνομα-πίνακα είναι το νέο όνομα που θα αντιστοιχιστεί στον πίνακα.

Για παράδειγμα, ας αλλάξουμε το όνομα του πίνακα Βιβλίων σε Βιβλία:

ALTER TABLE BookRENAME TO Books;

Χρήση του pgAdmin

Τώρα ας δούμε πώς μπορούν να εκτελεστούν αυτές οι ενέργειες χρησιμοποιώντας το pgAdmin.

Προσθήκη νέας στήλης

Για να το πετύχετε μέσω του pgAdmin, κάντε το:

Βήμα 1) Συνδεθείτε στον λογαριασμό σας στο pgAdmin.

Βήμα 2)

  1. Από τη γραμμή πλοήγησης στα αριστερά- Κάντε κλικ στις Βάσεις δεδομένων.
  2. Κάντε κλικ στην επιλογή Επίδειξη.

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

ALTER TABLE BookADD author VARCHAR(50);

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Βήμα 5) Για να ελέγξετε εάν προστέθηκε η στήλη, κάντε τα εξής:

  1. Κάντε κλικ στις Βάσεις δεδομένων από την αριστερή πλοήγηση.
  2. Ανάπτυξη επίδειξης.
  3. Αναπτύξτε τα σχήματα.
  4. Ανάπτυξη δημόσιου.
  5. Ανάπτυξη πινάκων.
  6. Αναπτύξτε το βιβλίο.
  7. Ανάπτυξη στηλών.

Η στήλη θα έπρεπε να είχε προστεθεί, όπως φαίνεται παρακάτω:

Μετονομασία στήλης πίνακα

Για να το πετύχετε μέσω του pgAdmin, κάντε το:

Βήμα 1) Συνδεθείτε στον λογαριασμό σας στο pgAdmin.

Βήμα 2)

  1. Από τη γραμμή πλοήγησης στα αριστερά- Κάντε κλικ στις Βάσεις δεδομένων.
  2. Κάντε κλικ στην επιλογή Επίδειξη.

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Βήμα 5) Για να ελέγξετε εάν η αλλαγή ήταν επιτυχής, κάντε τα εξής:

  1. Κάντε κλικ στις Βάσεις δεδομένων από την αριστερή πλοήγηση.
  2. Ανάπτυξη επίδειξης.
  3. Αναπτύξτε τα σχήματα.
  4. Ανάπτυξη δημόσιου.
  5. Ανάπτυξη πινάκων.
  6. Αναπτύξτε το βιβλίο.
  7. Ανάπτυξη στηλών.

Οι στήλες πρέπει τώρα να έχουν ως εξής:

Η στήλη άλλαξε με επιτυχία.

Ορισμός μιας προεπιλεγμένης τιμής για μια στήλη

Για να το πετύχετε μέσω του pgAdmin, κάντε το:

Βήμα 1) Συνδεθείτε στον λογαριασμό σας στο pgAdmin.

Βήμα 2)

  1. Από τη γραμμή πλοήγησης στα αριστερά- Κάντε κλικ στις Βάσεις δεδομένων.
  2. Κάντε κλικ στην επιλογή Επίδειξη.

Βήμα 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)

  1. Από τη γραμμή πλοήγησης στα αριστερά- Κάντε κλικ στις Βάσεις δεδομένων.
  2. Κάντε κλικ στην επιλογή Επίδειξη.

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Βήμα 5) Για να το δοκιμάσετε, κάντε τα εξής:

  1. Πληκτρολογήστε το ακόλουθο ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Κάντε κλικ στο κουμπί Εκτέλεση.

    Θα επιστρέψει τα ακόλουθα:

Μετονομασία πίνακα

Για να το πετύχετε μέσω του pgAdmin, κάντε το:

Βήμα 1) Συνδεθείτε στον λογαριασμό σας στο pgAdmin.

Βήμα 2)

  1. Από τη γραμμή πλοήγησης στα αριστερά- Κάντε κλικ στις Βάσεις δεδομένων.
  2. Κάντε κλικ στην επιλογή Επίδειξη.

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

ALTER TABLE BookRENAME TO Books;

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Βήμα 5) Για να ελέγξετε εάν ο πίνακας μετονομάστηκε, κάντε τα εξής:

  1. Κάντε κλικ στις Βάσεις δεδομένων από την αριστερή πλοήγηση.
  2. Ανάπτυξη επίδειξης.
  3. Αναπτύξτε τα σχήματα.
  4. Ανάπτυξη δημόσιου.
  5. Ανάπτυξη πινάκων.

Ο πίνακας μετονομάστηκε με επιτυχία.

Περίληψη:

  • Η δήλωση ALTER TABLE χρησιμοποιείται για την τροποποίηση της δομής του πίνακα.
  • Η εντολή ALTER TABLE λαμβάνει διάφορες μορφές ανάλογα με την εργασία που πρέπει να εκτελέσετε.
  • Η δομή μπορεί να είναι οι στήλες του πίνακα ή ο ίδιος ο πίνακας.
  • Μπορούμε να χρησιμοποιήσουμε αυτήν τη δήλωση για να αλλάξουμε το όνομα ενός πίνακα.
  • Η εντολή ALTER TABLE μπορεί να χρησιμοποιηθεί για τον ορισμό της προεπιλεγμένης τιμής μιας στήλης.
  • Η δήλωση μπορεί να χρησιμοποιηθεί για την επικύρωση των τιμών που εισάγονται σε μια στήλη πίνακα.

Κατεβάστε τη βάση δεδομένων που χρησιμοποιείται σε αυτό το σεμινάριο

ενδιαφέροντα άρθρα...