MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

別のテーブルと一致するテーブルをMySQLで作成しますか?


別のテーブルと一致するテーブルをMySQLで作成するには、LIKE演算子を指定してCREATETABLEコマンドを使用します。構文は次のとおりです-

create table yourNewTableName like yourOldTableName;

上記の構文は、テーブルの構造を作成します。

すべてのレコードが必要な場合は、INSERTINTO…... SELECT*FROMコマンドを使用します。構文は次のとおりです-

insert into yourNewTableName select *from yourOldTableName.

古いテーブルといくつかのデータがあります-

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

まず、テーブル構造を作成します。クエリは次のとおりです-

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

これで、showコマンドを使用して、テーブル構造が作成されたかどうかを確認できます。クエリは次のとおりです-

mysql> show create table NewTableDuplicate;

以下は出力です-

+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| 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)

「NewTableDuplicate」という名前で新しいテーブルのすべてのレコードをコピーします。すべてのデータを新しいテーブルにコピーするためのクエリは次のとおりです-

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

これで、SELECTステートメントを使用して、すべてのレコードが新しいテーブルに存在するかどうかを確認できます。クエリは次のとおりです-

mysql> select *from NewTableDuplicate;

以下は出力です-

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

古いテーブルに同じレコードがあるかどうかを確認します-

mysql> select *from WholeWordMatchDemo;

以下は出力です-

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

  1. MySQLで日付を使用して一時テーブルを作成します

    日付を含む一時テーブルを作成するには、MySQLでCREATETEMPORARYTABLEを使用します。以下は構文です- 構文 create temporary table yourTableName(    yourColumnName datetime );を作成します まずテーブルを作成しましょう- mysql> create temporary table DemoTable    -> (    -> DueDate datetime    -> ); Query OK, 0 r

  2. インデックスを使用してMySQLテーブルを作成するにはどうすればよいですか?

    インデックスを使用してMySQLテーブルを作成するための構文は、次のとおりです- create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 ); まずテーブルを作成しましょう- mysql> create table DemoTable    ->