Κατάλογος άρθρου
MySQL Αλλαγή προσθήκης για αύξηση πολλαπλών θέσεων πεδίου; Λεπτομερής επεξήγηση της χρήσης της εντολής τροποποίησης στήλης
MySQL Εντολή ALTER
Όταν χρειάζεται να τροποποιήσουμε το όνομα του πίνακα δεδομένων ή να τροποποιήσουμε τα πεδία του πίνακα δεδομένων, πρέπει να χρησιμοποιήσουμε την εντολή MySQL ALTER.
Πριν ξεκινήσουμε αυτό το σεμινάριο, ας δημιουργήσουμε έναν πίνακα με το όνομα: testalter_tbl.
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Διαγραφή, προσθήκη ή τροποποίηση πεδίων πίνακα
Η ακόλουθη εντολή χρησιμοποιεί την εντολή ALTER με τον όρο DROP για να απορρίψει τη στήλη i του πίνακα που δημιουργήθηκε παραπάνω:
mysql> ALTER TABLE testalter_tbl DROP i;
Το DROP δεν μπορεί να χρησιμοποιηθεί για τη διαγραφή ενός πεδίου εάν υπάρχει μόνο ένα πεδίο στον πίνακα δεδομένων.
Ο όρος ADD χρησιμοποιείται στη MySQL για την προσθήκη στηλών στον πίνακα δεδομένων.Το ακόλουθο παράδειγμα προσθέτει το πεδίο i στον πίνακα testalter_tbl και ορίζει τον τύπο δεδομένων:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Μετά την εκτέλεση της παραπάνω εντολής, το πεδίο i προστίθεται αυτόματα στο τέλος των πεδίων του πίνακα δεδομένων.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Εάν πρέπει να καθορίσετε τη θέση του νέου πεδίου, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί FIRST που παρέχεται από την MySQL (σύνολοΘέσηπρώτη στήλη), AFTER όνομα πεδίου (ορίζεται μετά από ένα πεδίο).
Δοκιμάστε την ακόλουθη πρόταση ALTER TABLE και μετά την επιτυχή εκτέλεση, χρησιμοποιήστε SHOW COLUMNS για να δείτε τις αλλαγές στη δομή του πίνακα:
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
Οι λέξεις-κλειδιά FIRST και AFTER χρησιμοποιούνται μόνο στον όρο ΠΡΟΣΘΗΚΗ, επομένως εάν θέλετε να επαναφέρετε τη θέση ενός πεδίου πίνακα δεδομένων, πρέπει πρώτα να χρησιμοποιήσετε το DROP για να διαγράψετε το πεδίο και μετά να χρησιμοποιήσετε το ADD για να προσθέσετε το πεδίο και να ορίσετε τη θέση.
Τροποποιήστε τον τύπο και το όνομα του πεδίου
Εάν πρέπει να τροποποιήσετε τον τύπο και το όνομα του πεδίου, μπορείτε να χρησιμοποιήσετε τον όρο MODIFY ή CHANGE στην εντολή ALTER.
Για παράδειγμα, για να αλλάξετε τον τύπο του πεδίου c από CHAR(1) σε CHAR(10), εκτελέστε την ακόλουθη εντολή:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Με την πρόταση CHANGE, η σύνταξη είναι πολύ διαφορετική.Αμέσως μετά τη λέξη-κλειδί CHANGE είναι το όνομα του πεδίου που θέλετε να τροποποιήσετε και, στη συνέχεια, καθορίστε το νέο όνομα και τύπο πεδίου.Δοκιμάστε το ακόλουθο παράδειγμα:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Επίδραση του ALTER TABLE στις μηδενικές και προεπιλεγμένες τιμές
Όταν τροποποιείτε ένα πεδίο, μπορείτε να καθορίσετε εάν θα συμπεριλάβετε μόνο ή εάν θα ορίσετε μια προεπιλεγμένη τιμή.
Το παρακάτω παράδειγμα καθορίζει ότι το πεδίο j ΔΕΝ είναι NULL και η προεπιλεγμένη τιμή είναι 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Εάν δεν ορίσετε μια προεπιλεγμένη τιμή, η MySQL θα ορίσει αυτόματα το πεδίο σε NULL από προεπιλογή.
Τροποποίηση προεπιλεγμένης τιμής πεδίου
Μπορείτε να χρησιμοποιήσετε το ALTER για να αλλάξετε την προεπιλεγμένη τιμή ενός πεδίου, δοκιμάστε τα ακόλουθα παραδείγματα:
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Μπορείτε επίσης να χρησιμοποιήσετε την εντολή ALTER με τον όρο DROP για να αφαιρέσετε την προεπιλεγμένη τιμή ενός πεδίου, όπως στο ακόλουθο παράδειγμα:
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
Η τροποποίηση του τύπου πίνακα δεδομένων μπορεί να γίνει χρησιμοποιώντας την εντολή ALTER και τον όρο TYPE.Δοκιμάστε το ακόλουθο παράδειγμα, όπου αλλάζουμε τον τύπο του πίνακα testalter_tbl σε MYISAM:
Σημείωση:Για να προβάλετε τον τύπο πίνακα δεδομένων, μπορείτε να χρησιμοποιήσετε τη δήλωση SHOW TABLE STATUS.
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
Τροποποίηση ονόματος πίνακα
Εάν πρέπει να τροποποιήσετε το όνομα του πίνακα δεδομένων, μπορείτε να χρησιμοποιήσετε τον όρο RENAME στη δήλωση ALTER TABLE για να το κάνετε.
Δοκιμάστε το ακόλουθο παράδειγμα για να μετονομάσετε τον πίνακα δεδομένων testalter_tbl σε alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Η εντολή ALTER μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία και τη διαγραφή ευρετηρίων σε πίνακες δεδομένων MySQL, τους οποίους θα παρουσιάσουμε στα επόμενα κεφάλαια.
αλλάξουν άλλες χρήσεις
Τροποποίηση της μηχανής αποθήκευσης: τροποποιήστε την σε myisam
alter table tableName engine=myisam;
Κατάργηση περιορισμού ξένου κλειδιού: το keyName είναι ένα ψευδώνυμο ξένου κλειδιού
alter table tableName drop foreign key keyName;
Η σχετική θέση του τροποποιημένου πεδίου: εδώ το όνομα1 είναι το πεδίο που πρέπει να τροποποιηθεί, ο τύπος1 είναι ο αρχικός τύπος του πεδίου, μπορούν να επιλεγούν πρώτα και μετά, τα οποία πρέπει να είναι προφανή, πρώτα τοποθετούνται πρώτα και μετά τοποθετούνται μετά το όνομα2 πεδίο
alter table tableName modify name1 type1 first|after name2;
Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) κοινοποιήθηκε "Αλλαγή προσθήκης MySQL για αύξηση πολλαπλών θέσεων πεδίων; Η λεπτομερής επεξήγηση της χρήσης της δήλωσης Τροποποίηση στήλης" είναι χρήσιμη για εσάς.
Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-495.html
Καλώς ήρθατε στο κανάλι Telegram του ιστολογίου του Chen Weiliang για να λαμβάνετε τις τελευταίες ενημερώσεις!
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!