MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

ΤΙ ΕΙΝΑΙ Η ΕΙΔΗ ΤΟΥ ALTER;

Όπως λέει και το ρητό, η αλλαγή είναι η μόνη σταθερά

Με την πάροδο του χρόνου οι επιχειρηματικές απαιτήσεις αλλάζουν επίσης. Καθώς οι επιχειρηματικές απαιτήσεις αλλάζουν, τα σχέδια βάσεων δεδομένων πρέπει επίσης να αλλάξουν.

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

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

Ας υποθέσουμε ότι έχουμε ολοκληρώσει τη σχεδίαση της βάσης δεδομένων μας και έχει εφαρμοστεί. Οι χρήστες της βάσης δεδομένων μας το χρησιμοποιούν και στη συνέχεια συνειδητοποιούν ότι ορισμένες από τις ζωτικές πληροφορίες είχαν μείνει εκτός φάσης σχεδιασμού. Δεν θέλουν να χάσουν τα υπάρχοντα δεδομένα, αλλά απλώς θέλουν να ενσωματώσουν τις νέες πληροφορίες. Η εντολή alter είναι βολική σε τέτοιες περιπτώσεις. Μπορούμε να χρησιμοποιήσουμε την εντολή alter για να αλλάξουμε τον τύπο δεδομένων ενός πεδίου από τη συμβολοσειρά λέξης σε αριθμητικό, να αλλάξουμε το όνομα πεδίου σε νέο όνομα ή ακόμα και να προσθέσουμε μια νέα στήλη σε έναν πίνακα.

Τροποποίηση-σύνταξη

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

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

ΕΔΩ

  • Το "ALTER TABLE" table_name "" είναι η εντολή που λέει στο διακομιστή MySQL να τροποποιήσει τον πίνακα με το όνομα "table_name".
  • "ADD COLUMN` column_name` "data_type" " είναι η εντολή που λέει στο διακομιστή MySQL να προσθέσει μια νέα στήλη με το όνομα` column_name` με τον τύπο δεδομένων `data_type '.

Ας υποθέσουμε ότι το Myflix εισήγαγε τις χρεώσεις και τις πληρωμές στο διαδίκτυο. Προς το σκοπό αυτό, μας ζητήθηκε να προσθέσουμε ένα πεδίο για τον αριθμό της πιστωτικής κάρτας στον πίνακα μελών μας. Μπορούμε να χρησιμοποιήσουμε την εντολή ALTER για να το κάνουμε αυτό. Ας δούμε πρώτα τη δομή του πίνακα μελών προτού προβούμε σε τροποποιήσεις. Το σενάριο που φαίνεται παρακάτω μας βοηθά να το κάνουμε αυτό.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Μπορούμε να χρησιμοποιήσουμε το σενάριο που φαίνεται παρακάτω για να προσθέσουμε ένα νέο πεδίο στον πίνακα μελών.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

Η εκτέλεση του παραπάνω σεναρίου στη MySQL έναντι του Myflixdb προσθέτει μια νέα στήλη με όνομα πιστωτικής κάρτας στον πίνακα μελών με τον τύπο δεδομένων VARCHAR. Η εκτέλεση του σεναρίου της στήλης εκπομπής μας δίνει τα ακόλουθα αποτελέσματα.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

Όπως μπορείτε να δείτε από τα αποτελέσματα που επιστράφηκαν, ο αριθμός της πιστωτικής κάρτας προστέθηκε στον πίνακα μελών. Τα δεδομένα που περιέχονται στα δεδομένα των μελών δεν επηρεάζονται από την προσθήκη της νέας στήλης.

ΤΙ ΕΙΝΑΙ Η ΕΓΚΑΤΑΣΤΑΣΗ;

Η εντολή DROP χρησιμοποιείται για

  1. Διαγράψτε μια βάση δεδομένων από το διακομιστή MySQL
  2. Διαγράψτε ένα αντικείμενο (όπως Πίνακας, Στήλη) από μια βάση δεδομένων.

Ας δούμε τώρα πρακτικά παραδείγματα που κάνουν χρήση της εντολής DROP.

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

Ας υποθέσουμε ότι η λειτουργικότητα χρέωσης στο διαδίκτυο θα διαρκέσει λίγο και θέλουμε να ΑΠΟΣΤΑΣΗ τη στήλη πιστωτικής κάρτας

Μπορούμε να χρησιμοποιήσουμε το ακόλουθο σενάριο

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Η εκτέλεση του παραπάνω σεναρίου μειώνει τη στήλη credit_card_number από τον πίνακα μελών

Ας δούμε τώρα τις στήλες στον πίνακα μελών για να επιβεβαιώσουμε εάν η στήλη μας έχει πέσει.

SHOW COLUMNS FROM `members`;

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

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Σημειώστε ότι ο αριθμός της πιστωτικής κάρτας έχει πέσει από τη λίστα πεδίων.

ΠΙΝΑΚΑΣ ΠΡΟΣΤΑΣΙΑΣ

Η σύνταξη στο DROP πίνακα από τη βάση δεδομένων έχει ως εξής -

DROP TABLE `sample_table`;

Ας δούμε ένα παράδειγμα

DROP TABLE `categories_archive`;

Η εκτέλεση του παραπάνω σεναρίου διαγράφει τον πίνακα με την ονομασία «profiles_archive» από τη βάση δεδομένων.

ΤΙ ΕΙΝΑΙ Η ΕΝΤΟΛΗ ΟΝΟΜΑΤΟΣ

Η εντολή μετονομασίας χρησιμοποιείται για να αλλάξει το όνομα ενός υπάρχοντος αντικειμένου βάσης δεδομένων (όπως Πίνακας, Στήλη) σε νέο όνομα .

Η μετονομασία ενός πίνακα δεν καθιστά την απώλεια δεδομένων που περιέχονται σε αυτόν.

Σύνταξη:-

Η εντολή μετονομασίας έχει την ακόλουθη βασική σύνταξη.

RENAME TABLE `current_table_name` TO `new_table_name`;

Ας υποθέσουμε ότι θέλουμε να μετονομάσουμε τον πίνακα movierentals σε movie_rentals, μπορούμε να χρησιμοποιήσουμε το σενάριο που φαίνεται παρακάτω για να το επιτύχουμε.

RENAME TABLE `movierentals` TO `movie_rentals`;

Η εκτέλεση του παραπάνω σεναρίου μετονομάζει τον πίνακα "movierentals" σε "movie_rentals".

Τώρα θα μετονομάσουμε τον πίνακα movie_rentals στο αρχικό του όνομα.

RENAME TABLE `movie_rentals` TO `movierentals`;

ΑΛΛΑΓΗ ΚΛΕΙΔΙ ΚΛΕΙΔΙΟΥ

Η αλλαγή λέξεων-κλειδιών σάς επιτρέπει

  1. Αλλαγή ονόματος στήλης
  2. Αλλαγή τύπου δεδομένων στήλης
  3. Αλλαγή περιορισμών στηλών

Ας δούμε ένα παράδειγμα. Το πεδίο πλήρων ονομάτων στον πίνακα μελών είναι τύπου δεδομένων varchar και έχει πλάτος 150.

SHOW COLUMNS FROM `members`;

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

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Ας υποθέσουμε ότι θέλουμε

  1. Αλλάξτε το όνομα του πεδίου από "full_names" σε "fullname
  2. Αλλάξτε τον σε τύπο δεδομένων char με πλάτος 250
  3. Προσθέστε έναν περιορισμό NOT NULL

Μπορούμε να το επιτύχουμε χρησιμοποιώντας την εντολή αλλαγής ως εξής -

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

Η εκτέλεση του παραπάνω σεναρίου στον πάγκο εργασίας MySQL έναντι του myflixdb και στη συνέχεια η εκτέλεση του σεναρίου εμφάνισης στηλών που δίνεται παραπάνω δίνει τα ακόλουθα αποτελέσματα.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ΤΡΟΠΟΠΟΙΗΣΗ ΚΛΕΙΔΙ

Η MODIFY Keyword σας επιτρέπει να το κάνετε

  1. Τροποποίηση τύπου δεδομένων στήλης
  2. Τροποποίηση περιορισμών στηλών

Στο παραπάνω παράδειγμα ΑΛΛΑΓΗ, έπρεπε να αλλάξουμε το όνομα του πεδίου καθώς και άλλες λεπτομέρειες. Η παράλειψη του ονόματος πεδίου από τη δήλωση ΑΛΛΑΓΗ θα δημιουργήσει σφάλμα. Ας υποθέσουμε ότι ενδιαφερόμαστε μόνο να αλλάξουμε τον τύπο δεδομένων και τους περιορισμούς στο πεδίο χωρίς να επηρεάσουμε το όνομα του πεδίου, μπορούμε να χρησιμοποιήσουμε τη λέξη-κλειδί MODIFY για να το επιτύχουμε.

Το παρακάτω σενάριο αλλάζει το πλάτος του πεδίου "πλήρες όνομα" από 250 σε 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

Η εκτέλεση του παραπάνω σεναρίου στον πάγκο εργασίας MySQL έναντι του myflixdb και στη συνέχεια η εκτέλεση του σεναρίου εμφάνισης στηλών που δίνεται παραπάνω δίνει τα ακόλουθα αποτελέσματα που φαίνονται παρακάτω.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ΜΕΤΑ ΤΟ ΚΛΕΙΔΙ

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

Μπορούμε να χρησιμοποιήσουμε την εντολή alter μαζί με τη λέξη-κλειδί ΜΕΤΑ.

Το παρακάτω σενάριο προσθέτει "date_of_registration" αμέσως μετά την ημερομηνία γέννησης στον πίνακα μελών.

ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;

Η εκτέλεση του παραπάνω σεναρίου στον πάγκο εργασίας MySQL έναντι του myflixdb και στη συνέχεια η εκτέλεση του σεναρίου εμφάνισης στηλών που δίνεται παραπάνω δίνει τα ακόλουθα αποτελέσματα που φαίνονται παρακάτω.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

Περίληψη

  • Η εντολή alter χρησιμοποιείται όταν θέλουμε να τροποποιήσουμε μια βάση δεδομένων ή οποιοδήποτε αντικείμενο περιέχεται στη βάση δεδομένων.
  • Η εντολή drop χρησιμοποιείται για τη διαγραφή βάσεων δεδομένων από το διακομιστή MySQL ή αντικείμενα μέσα σε μια βάση δεδομένων.
  • Η εντολή μετονομασίας χρησιμοποιείται για να αλλάξει το όνομα ενός πίνακα σε ένα νέο όνομα πίνακα.
  • Η αλλαγή λέξης-κλειδιού σάς επιτρέπει να αλλάξετε ένα όνομα στήλης, έναν τύπο δεδομένων και περιορισμούς
  • Η τροποποίηση λέξης-κλειδιού σάς επιτρέπει να τροποποιήσετε έναν τύπο και περιορισμούς δεδομένων στήλης
  • Η λέξη-κλειδί After χρησιμοποιείται για τον καθορισμό της θέσης μιας στήλης σε έναν πίνακα