Maison  >  Article  >  base de données  >  Créer une table dans MySQL qui correspond à une autre table ?

Créer une table dans MySQL qui correspond à une autre table ?

PHPz
PHPzavant
2023-08-23 19:13:091304parcourir

Créer une table dans MySQL qui correspond à une autre table ?

Pour créer une table dans MySQL qui correspond à une autre table, utilisez la commande CREATE TABLE avec l'opérateur LIKE. La syntaxe est la suivante −

create table yourNewTableName like yourOldTableName;

La syntaxe ci-dessus crée la structure de la table.

Si vous voulez tous les enregistrements, utilisez la commande INSERT INTO…...SELECT *FROM. La syntaxe est la suivante −

insert into yourNewTableName select *from yourOldTableName.

J'ai une ancienne table et quelques données −

mysql> create table WholeWordMatchDemo
   −> (
   −> Words varchar(200)
   −> );
Query OK, 0 rows affected (0.84 sec)

Tout d'abord, nous allons créer une structure de table. La requête est la suivante −

mysql> create table NewTableDuplicate Like WholeWordMatchDemo;
Query OK, 0 rows affected (0.62 sec)

Vous pouvez maintenant vérifier que la structure de la table a été créée ou non à l'aide de la commande show. La requête est la suivante −

mysql> show create table NewTableDuplicate;

Ce qui suit est le résultat −

+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| Table             | Create Table                                                                                                                                |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| NewTableDuplicate | CREATE TABLE `newtableduplicate` (`Words` varchar(200) DEFAULT NULL) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Copiez tous les enregistrements de la nouvelle table avec le nom « NewTableDuplicate ». La requête est la suivante pour copier toutes les données dans une nouvelle table −

mysql> insert into NewTableDuplicate select *from WholeWordMatchDemo;
Query OK, 3 rows affected (0.19 sec)
Records: 3 Duplicates: 0 Warnings: 0

Vous pouvez maintenant vérifier que tous les enregistrements sont présents ou non dans la nouvelle table à l'aide de l'instruction SELECT. La requête est la suivante −

mysql> select *from NewTableDuplicate;

Ce qui suit est le résultat −

+----------------------+
| Words                |
+----------------------+
| My Name is John      |
| Carol                |
| My Name is Johnson   |
+----------------------+
3 rows in set (0.00 sec)

Vérifiez si l'ancienne table a les mêmes enregistrements ou non −

mysql> select *from WholeWordMatchDemo;

Ce qui suit est le résultat −

+----------------------+
| Words                |
+----------------------+
| My Name is John      |
| Carol                |
| My Name is Johnson   |
+----------------------+
3 rows in set (0.00 sec)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer