Maison base de données tutoriel mysql Quelle est l'instruction utilisée par MySQL pour modifier la structure de la table ?

Quelle est l'instruction utilisée par MySQL pour modifier la structure de la table ?

Dec 01, 2021 pm 04:25 PM
mysql

L'instruction MySQL pour modifier la structure de la table est "ALTER TABLE". Cette instruction peut modifier la structure de la table d'origine, comme ajouter ou supprimer des colonnes, modifier les types de colonnes d'origine, renommer des colonnes ou des tables, etc. "ALTER TABLE" [Modifier les options]".

Quelle est l'instruction utilisée par MySQL pour modifier la structure de la table ?

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

L'instruction dans MySQL pour modifier la structure de la table est "ALTER TABLE". Les instructions

ALTER TABLE peuvent modifier la structure de la table d'origine, comme ajouter ou supprimer des colonnes, créer ou annuler des index, modifier le type de colonne d'origine, renommer des colonnes ou des tables, etc.

MySQL utilise l'instruction ALTER TABLE pour modifier la table. Les opérations couramment utilisées pour modifier une table incluent la modification du nom de la table, la modification des types de données de champ ou des noms de champ, l'ajout et la suppression de champs, la modification de la disposition des champs, la modification du moteur de stockage de la table, la suppression des contraintes de clé étrangère de la table, etc.

Le format de syntaxe couramment utilisé est le suivant :

ALTER TABLE <表名> [修改选项]

Le format de syntaxe pour modifier les options est le suivant :

{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名>
| CHARACTER SET <字符集名>
| COLLATE <校对规则名> }

Ajouter des champs

À mesure que l'activité évolue, vous devrez peut-être ajouter de nouveaux champs aux tables existantes. , un complet Les champs incluent les noms de champs, les types de données et les contraintes d'intégrité. Le format syntaxique de l'ajout d'un champ est le suivant :

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];

Le nouveau nom du champ est le nom du champ qui doit être ajouté ; FIRST est un paramètre facultatif, sa fonction est de définir le champ nouvellement ajouté comme premier champ de la table ; AFTER est un paramètre facultatif, sa fonction est d'ajouter le champ nouvellement ajouté à la fin du nom du champ existant spécifié.

【Exemple 1】Utilisez ALTER TABLE pour modifier la structure de la table tb_emp1 et ajoutez un champ de type int col1 à la première colonne de la table. L'instruction SQL d'entrée et les résultats d'exécution sont les suivants.

mysql> ALTER TABLE tb_emp1
    -> ADD COLUMN col1 INT FIRST;
Query OK, 0 rows affected (0.94 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col1   | int(11)     | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Astuce : "PREMIER ou APRÈS le nom du champ existant" est utilisé pour spécifier la position du nouveau champ dans la table. S'il n'y a pas ces deux paramètres dans l'instruction SQL, le champ nouvellement ajouté sera défini à la fin de. la table de données par défaut.

【Exemple 2】Utilisez ALTER TABLE pour modifier la structure de la table tb_emp1 et ajoutez un champ de type int col2 après la colonne de nom. L'instruction SQL d'entrée et les résultats d'exécution sont les suivants.

mysql> ALTER TABLE tb_emp1
    -> ADD COLUMN col2 INT AFTER name;
Query OK, 0 rows affected (0.50 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col1   | int(11)     | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| col2   | int(11)     | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

Vous pouvez voir qu'un champ nommé col2 a été ajouté à la table tb_emp1. Sa position est derrière le champ de nom spécifié. Le champ a été ajouté avec succès.

Modifier le type de données d'un champ

Modifier le type de données d'un champ consiste à convertir le type de données du champ en un autre type de données. Les règles de syntaxe pour modifier les types de données de champ dans MySQL sont les suivantes :

ALTER TABLE <表名> MODIFY <字段名> <数据类型>

Parmi elles, le nom de la table fait référence au nom de la table où se trouve le champ dont le type de données doit être modifié, le nom du champ fait référence au champ qui doit être modifié et le type de données fait référence au nouveau type de données du champ modifié.

【Exemple 3】Utilisez ALTER TABLE pour modifier la structure de la table tb_emp1 et changez le type de données du champ de nom de VARCHAR(22) à VARCHAR(30). L'instruction SQL d'entrée et les résultats d'exécution sont les suivants.

mysql> ALTER TABLE tb_emp1
    -> MODIFY name VARCHAR(30);
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col1   | int(11)     | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| col2   | int(11)     | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

Une fois l'instruction exécutée, il s'avère que le type de données du champ de nom dans la table tb_emp1 a été modifié en VARCHAR(30) et la modification a réussi.

Supprimer un champ

Supprimer un champ consiste à supprimer un champ de la table de données de la table. Le format de syntaxe est le suivant :

ALTER TABLE <表名> DROP <字段名>;

Parmi eux, le nom du champ fait référence au nom du champ. qui doit être supprimé du tableau.

【Exemple 4】Utilisez ALTER TABLE pour modifier la structure de la table tb_emp1 et supprimer le champ col2 L'instruction SQL d'entrée et les résultats d'exécution sont les suivants.

mysql> ALTER TABLE tb_emp1
    -> DROP col2;
Query OK, 0 rows affected (0.53 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col1   | int(11)     | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Modifier les noms de champs

Les règles de syntaxe pour modifier les noms de champs de table dans MySQL sont les suivantes :

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

Parmi elles, l'ancien nom de champ fait référence au nom de champ avant la modification ; le nom du champ modifié ; le nouveau type de données fait référence au type de données modifié. Si vous n'avez pas besoin de modifier le type de données du champ, vous pouvez définir le nouveau type de données pour qu'il soit identique à celui d'origine, mais le type de données ne le peut pas. être vide.

【Exemple 5】Utilisez ALTER TABLE pour modifier la structure de la table tb_emp1, changez le nom du champ col1 en col3 et changez le type de données en CHAR(30). L'instruction SQL d'entrée et les résultats d'exécution sont les suivants.

mysql> ALTER TABLE tb_emp1
    -> CHANGE col1 col3 CHAR(30);
Query OK, 0 rows affected (0.76 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col3   | char(30)    | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

CHANGE peut également modifier uniquement le type de données pour obtenir le même effet que MODIFY. La méthode consiste à définir le "nouveau nom de champ" et "l'ancien nom de champ" dans l'instruction SQL sur le même nom et à modifier uniquement les "données". taper".

Conseils : étant donné que différents types de données sont stockés de différentes manières et longueurs dans la machine, la modification du type de données peut affecter les enregistrements de données existants dans la table de données. Par conséquent, lorsqu'il y a déjà des données dans la table de données, ne les modifiez pas. facilement. Type de données.

Modifier le nom de la table

MySQL utilise l'instruction ALTER TABLE pour modifier le nom de la table :

ALTER TABLE <旧表名> RENAME [TO] <新表名>;

Parmi elles, TO est un paramètre facultatif, et s'il est utilisé ou non. n'affecte pas le résultat.

【Exemple 6】Utilisez ALTER TABLE pour renommer la table de données tb_emp1 en tb_emp2 ​​​​L'instruction SQL d'entrée et les résultats d'exécution sont les suivants.

mysql> ALTER TABLE tb_emp1
    -> RENAME TO tb_emp2;
mysql> SHOW TABLES;
+--------------------+
| Tables_in_test_db  |
+--------------------+
| tb_emp2            |
+--------------------+
1 rows in set (0.00 sec)

提示:用户可以在修改表名称时使用 DESC 命令查看修改后两个表的结构,修改表名并不修改表的结构,因此修改名称后的表和修改名称前的表的结构是相同的。

【相关推荐:mysql视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser une instruction de cas dans MySQL? Comment utiliser une instruction de cas dans MySQL? Sep 20, 2025 am 02:00 AM

La réponse est: l'instruction de cas de MySQL est utilisée pour implémenter la logique conditionnelle dans la requête, et prend en charge deux formulaires: simple et recherche. Différentes valeurs peuvent être renvoyées dynamiquement dans des clauses telles que Select, Where et OrderBy; Par exemple, dans SELECT, la classification des scores par segments fractionnaires, combinant des fonctions agrégées pour compter le nombre d'états, ou hiérarchiser les rôles spécifiques dans OrderBy, il est nécessaire de toujours terminer avec fin et il est recommandé d'utiliser d'autre pour gérer la situation par défaut.

Comment automatiser les sauvegardes MySQL avec un script? Comment automatiser les sauvegardes MySQL avec un script? Sep 21, 2025 am 02:24 AM

Créez un script shell contenant la configuration de la base de données et la commande mysqldump et enregistrez-le sous Mysql_backup.sh; 2. Stockez les informations d'identification MySQL en créant un fichier ~ / .my.cnf et définissez 600 autorisations pour améliorer la sécurité, modifier le script pour utiliser l'authentification du fichier de configuration; 3. Utilisez Chmod X pour rendre l'exécutable de script et tester manuellement si la sauvegarde est réussie; 4. Ajouter des tâches chronométrées via Crontab-E, telles que 02 / path / vers / mysql_backup.sh >> / path / to / backup / backup.log2> & 1, réalisez la sauvegarde automatique et la journalisation à 2 heures du matin tous les jours; 5

Comment utiliser des sous-requêtes dans MySQL? Comment utiliser des sous-requêtes dans MySQL? Sep 20, 2025 am 01:07 AM

Les sous-questionnaires peuvent être utilisés dans d'où, de sélection, de sélection et d'avoir des clauses pour implémenter le filtrage ou le calcul en fonction du résultat d'une autre requête. Les opérateurs tels que dans, tous, tous sont couramment utilisés dans où; Les alias sont nécessaires comme des tables dérivées de; Les valeurs uniques doivent être renvoyées dans Select; Les sous-requêtes apparentées reposent sur la requête extérieure pour exécuter chaque ligne. Par exemple, consultez les employés dont le salaire moyen est plus élevé que le ministère ou ajoutez la liste de salaire moyenne de l'entreprise. Les sous-questionnaires améliorent la clarté logique, mais les performances peuvent être inférieures à la jointure, vous devez donc vous assurer de retourner les résultats attendus.

Comment mettre à jour une ligne s'il existe ou insérer si ce n'est dans MySQL Comment mettre à jour une ligne s'il existe ou insérer si ce n'est dans MySQL Sep 21, 2025 am 01:45 AM

INSERT ... L'implémentation OnDuplicateKeyupdate sera mise à jour si elle existe, sinon elle sera insérée et nécessite des contraintes de clé unique ou primaires; 2. Réinsert après la suppression de RemplaceInto, qui peut entraîner des modifications de l'ID d'incrémentation automatique; 3. L'insertion inserte uniquement et ne fait pas de données répétitives, et ne met pas à jour. Il est recommandé d'utiliser la première implémentation d'UPsert.

Comment utiliser la commande Explication dans MySQL? Comment utiliser la commande Explication dans MySQL? Sep 18, 2025 am 01:48 AM

ExpliquerInmysqlRevealSQueryExecutionPlans, montrant IndexUsage, TablereadOrder, androwfilteringTooptimePerFormance; useitBereelectoAnalyzesteps, checkkeycolumnsliketypeAndrow

Comment sélectionner des valeurs distinctes dans MySQL? Comment sélectionner des valeurs distinctes dans MySQL? Sep 16, 2025 am 12:52 AM

Utilisez le mot clé distinct pour supprimer les valeurs en double de la colonne spécifiée et renvoyez des valeurs uniques. 1. La syntaxe de base est SelectDistinctColumn_NameFromTable_name; 2. Interrogez la valeur unique d'une seule colonne, telle que SelectDistinctCityFromCustomesrs; 3. Interrogez la combinaison unique de plusieurs colonnes, telles que SelectDistinctCity, StateFromCustomesrs; 4. Filtrez avec la clause WHERE et obtenez la valeur unique, comme selectDistinctProduct_namefromorderswhereOrder_Date> '202

Comment calculer la distance entre deux points dans MySQL Comment calculer la distance entre deux points dans MySQL Sep 21, 2025 am 02:15 AM

MySQL peut calculer les distances géographiques à travers la formule Haversine ou la fonction ST_DISTANCE_SPHERE. Le premier convient à toutes les versions, et le second fournit des calculs de distance sphérique plus faciles et plus précis depuis 5.7.

Comment gérer les fuseaux horaires dans MySQL? Comment gérer les fuseaux horaires dans MySQL? Sep 20, 2025 am 04:37 AM

Utilisez UTC pour stocker le temps, définissez le fuseau horaire MySQL Server sur UTC, utilisez l'horodatage pour réaliser la conversion automatique du fuseau horaire, ajustez le fuseau horaire en fonction des besoins des utilisateurs dans la session, affichez le temps local via la fonction convert_tz et assurez-vous que le tableau de fuseau horaire est chargé.

See all articles