Maison > Article > base de données > Comment fusionner deux tables en utilisant l'union MySQL pour créer une nouvelle table ?
Voici la syntaxe pour fusionner deux tables à l'aide de l'union MySQL
create table yourTableName ( select *from yourTableName1 ) UNION ( select *from yourTableName2 );
Pour comprendre la syntaxe ci-dessus, créons une table. La requête pour créer la première table est la suivante
mysql> create table Old_TableDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20) -> ); Query OK, 0 rows affected (0.63 sec)
La requête pour créer la deuxième table est la suivante
mysql> create table Old_TableDemo2 -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20) -> ); Query OK, 0 rows affected (0.60 sec)
Utilisez la commande insert pour insérer des enregistrements dans la première table. La requête est la suivante -
mysql> insert into Old_TableDemo(UserName) values('John'); Query OK, 1 row affected (0.22 sec) mysql> insert into Old_TableDemo(UserName) values('Carol'); Query OK, 1 row affected (0.15 sec)
Utilisez l'instruction select pour afficher tous les enregistrements de la première table. La requête est la suivante -
mysql> select *from Old_TableDemo;
Ci-dessous se trouve le résultat
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | John | | 2 | Carol | +--------+----------+ 2 rows in set (0.00 sec)
Vous pouvez maintenant insérer des enregistrements dans la deuxième table à l'aide de la commande insert. La requête est la suivante -
mysql> insert into Old_TableDemo2(UserName) values('Larry'); Query OK, 1 row affected (0.22 sec) mysql> insert into Old_TableDemo2(UserName) values('Sam'); Query OK, 1 row affected (0.10 sec)
Utilisez l'instruction select pour afficher tous les enregistrements de la deuxième table. La requête est la suivante -
mysql> select *from Old_TableDemo2;
Ci-dessous se trouve le résultat
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | Larry | | 2 | Sam | +--------+----------+ 2 rows in set (0.00 sec)
Voici la requête pour créer une nouvelle table par union fusionnant deux tables
mysql> create table UserTableDemo -> ( -> select *from Old_TableDemo -> ) -> UNION -> ( -> select *from Old_TableDemo2 -> ); Query OK, 4 rows affected (1.18 sec) Records: 4 Duplicates: 0 Warnings: 0
Vérifions les enregistrements de la nouvelle table. La requête est la suivante -
mysql> select *from UserTableDemo;
Ce qui suit est le résultat
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | John | | 2 | Carol | | 1 | Larry | | 2 | Sam | +--------+----------+ 4 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!