Προσθήκη MySQL για αύξηση πολλαπλών θέσεων πεδίων; Λεπτομερής επεξήγηση της χρήσης της εντολής τροποποίησης στήλης

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 για να λαμβάνετε τις τελευταίες ενημερώσεις!

🔔 Γίνετε ο πρώτος που θα αποκτήσει τον πολύτιμο "Οδηγό χρήσης εργαλείου τεχνητής νοημοσύνης μάρκετινγκ περιεχομένου ChatGPT" στον κορυφαίο κατάλογο του καναλιού! 🌟
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευθεί. 必填 项 已 用 * 标注

κύλιση στην κορυφή