2つのテーブルをMySQLユニオンとマージして新しいテーブルを作成するにはどうすればよいですか?
以下は、MySQLユニオンを使用して2つのテーブルをマージするための構文です
create table yourTableName ( select *from yourTableName1 ) UNION ( select *from yourTableName2 );
上記の構文を理解するために、テーブルを作成しましょう。最初のテーブルを作成するためのクエリは次のとおりです
mysql> create table Old_TableDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20) -> ); Query OK, 0 rows affected (0.63 sec)
2番目のテーブルを作成するためのクエリは次のとおりです
mysql> create table Old_TableDemo2 -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20) -> ); Query OK, 0 rows affected (0.60 sec)
挿入コマンドを使用して、最初のテーブルにいくつかのレコードを挿入します。クエリは次のとおりです-
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)
selectステートメントを使用して、最初のテーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from Old_TableDemo;
以下は出力です
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | John | | 2 | Carol | +--------+----------+ 2 rows in set (0.00 sec)
これで、insertコマンドを使用して2番目のテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです-
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)
selectステートメントを使用して、2番目のテーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from Old_TableDemo2;
以下は出力です
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | Larry | | 2 | Sam | +--------+----------+ 2 rows in set (0.00 sec)
これは、2つのテーブルをユニオンとマージして新しいテーブルを作成するためのクエリです
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
新しいテーブルのテーブルレコードを確認してみましょう。クエリは次のとおりです-
mysql> select *from UserTableDemo;
以下は出力です
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | John | | 2 | Carol | | 1 | Larry | | 2 | Sam | +--------+----------+ 4 rows in set (0.00 sec)
-
インデックスを使用してMySQLテーブルを作成するにはどうすればよいですか?
インデックスを使用してMySQLテーブルを作成するための構文は、次のとおりです- create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 ); まずテーブルを作成しましょう- mysql> create table DemoTable ->
-
単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する
テーブルを作成しましょう- mysql> create table DemoTable1922 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa