MySQL alter add, um mehrere Feldpositionen zu erhöhen? Ausführliche Erläuterung der Verwendung der Modify-Column-Anweisung

MySQL Ändern Sie Hinzufügen, um mehrere Feldpositionen zu erhöhen? Ausführliche Erläuterung der Verwendung der Modify-Column-Anweisung

MySQL ALTER-Befehl

Wenn wir den Datentabellennamen oder die Datentabellenfelder ändern müssen, müssen wir den MySQL ALTER-Befehl verwenden.

Bevor wir mit diesem Tutorial beginnen, erstellen wir eine Tabelle mit dem Namen: 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)

Tabellenfelder löschen, hinzufügen oder ändern

Der folgende Befehl verwendet den ALTER-Befehl mit der DROP-Klausel, um die i-Spalte der oben erstellten Tabelle zu löschen:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP kann nicht verwendet werden, um ein Feld zu löschen, wenn nur noch ein Feld in der Datentabelle übrig ist.

Die ADD-Klausel wird in MySQL verwendet, um Spalten zur Datentabelle hinzuzufügen. Das folgende Beispiel fügt das i-Feld zur Tabelle testalter_tbl hinzu und definiert den Datentyp:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Nach Ausführung des obigen Befehls wird das i-Feld automatisch am Ende der Datentabellenfelder hinzugefügt.

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)

Wenn Sie den Speicherort des neuen Felds angeben müssen, können Sie das von MySQL bereitgestellte Schlüsselwort FIRST (setPositionierungerste Spalte), AFTER Feldname (wird nach einem Feld gesetzt).

Probieren Sie die folgende ALTER TABLE-Anweisung aus und verwenden Sie nach erfolgreicher Ausführung SHOW COLUMNS, um die Änderungen in der Tabellenstruktur anzuzeigen:

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;

Die Schlüsselwörter FIRST und AFTER werden nur in der ADD-Klausel verwendet. Wenn Sie also die Position eines Datentabellenfelds zurücksetzen möchten, müssen Sie zuerst DROP verwenden, um das Feld zu löschen, und dann ADD verwenden, um das Feld hinzuzufügen und die Position festzulegen.


Feldtyp und -name ändern

Wenn Sie den Feldtyp und -namen ändern müssen, können Sie die MODIFY- oder CHANGE-Klausel im ALTER-Befehl verwenden.

Um beispielsweise den Typ des Felds c von CHAR(1) in CHAR(10) zu ändern, führen Sie den folgenden Befehl aus:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

Bei der CHANGE-Klausel ist die Syntax ganz anders.Unmittelbar nach dem Schlüsselwort CHANGE steht der Name des Felds, das Sie ändern möchten, und geben Sie dann den neuen Feldnamen und -typ an.Versuchen Sie folgendes Beispiel:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Auswirkung von ALTER TABLE auf Null- und Standardwerte

Wenn Sie ein Feld ändern, können Sie angeben, ob es nur eingeschlossen oder ein Standardwert festgelegt werden soll.

Das folgende Beispiel gibt an, dass das Feld j NOT NULL ist und der Standardwert 100 ist.

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

Wenn Sie keinen Standardwert festlegen, setzt MySQL das Feld standardmäßig automatisch auf NULL.


Ändern Sie den Standardwert des Felds

Sie können ALTER verwenden, um den Standardwert eines Felds zu ändern, versuchen Sie die folgenden Beispiele:

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)

Sie können auch den ALTER-Befehl mit der DROP-Klausel verwenden, um den Standardwert eines Felds zu entfernen, wie im folgenden Beispiel:

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:

Das Ändern des Datentabellentyps kann mit dem ALTER-Befehl und der TYPE-Klausel erfolgen.Probieren Sie das folgende Beispiel aus, in dem wir den Typ der Tabelle testalter_tbl in MYSSAM ändern:

Hinweis:Um den Datentabellentyp anzuzeigen, können Sie die Anweisung SHOW TABLE STATUS verwenden.

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)

Tabellennamen ändern

Wenn Sie den Namen der Datentabelle ändern müssen, können Sie dazu die RENAME-Klausel in der ALTER TABLE-Anweisung verwenden.

Probieren Sie das folgende Beispiel aus, um die Datentabelle testalter_tbl in alter_tbl umzubenennen:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Der ALTER-Befehl kann auch verwendet werden, um Indizes für MySQL-Tabellen zu erstellen und zu löschen, was wir in den nächsten Kapiteln behandeln werden.

andere Verwendungen ändern

Ändern Sie die Speicher-Engine: Ändern Sie sie in myisam

alter table tableName engine=myisam;

Fremdschlüsseleinschränkung entfernen: keyName ist ein Fremdschlüsselalias

alter table tableName drop foreign key keyName;

Die relative Position des geänderten Felds: hier ist name1 das zu ändernde Feld, type1 ist der ursprüngliche Typ des Felds, first und after können ausgewählt werden, was offensichtlich sein sollte, first wird zuerst platziert und after wird nach name2 platziert aufstellen

alter table tableName modify name1 type1 first|after name2;

Hoffnung Chen Weiliang Blog ( https://www.chenweiliang.com/ ) Shared „MySQL alter add, um mehrere Feldpositionen zu erhöhen? Detaillierte Erläuterung der Verwendung der Modify Column-Anweisung" hilfreich für Sie.

Willkommen, um den Link dieses Artikels zu teilen:https://www.chenweiliang.com/cwl-495.html

Willkommen im Telegrammkanal von Chen Weiliangs Blog, um die neuesten Updates zu erhalten!

🔔 Seien Sie der Erste, der den wertvollen „ChatGPT Content Marketing AI Tool Usage Guide“ im Kanal-Top-Verzeichnis erhält! 🌟
📚 Dieser Leitfaden enthält einen enormen Mehrwert. 🌟Dies ist eine seltene Gelegenheit, verpassen Sie sie nicht! ⏰⌛💨
Teilen und liken, wenn es euch gefällt!
Ihr Teilen und Ihre Likes sind unsere ständige Motivation!

 

发表 评论

Deine Email-Adresse wird nicht veröffentlicht. 必填 项 已 已 * 标注

nach oben scrollen