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

MySQLで既存テーブルから特定の列だけを抽出して新しいテーブルを作成する方法

CTASスクリプトを使った特定列のコピー

MySQLでは、CTAS(Create Table As Select)と呼ばれるスクリプトを使用することで、既存のテーブルからデータと構造をまとめてコピーし、新しいテーブルを作成できます。

すべての列ではなく、別のテーブルから特定の列のみを抽出したい場合は、SELECT句の後に必要な列名を明示的に指定します。これにより、指定した列のデータと構造だけが新しいテーブルに複製されます。

実行例:Employeeテーブルから「name」列のみを抽出

以下の例では、既存の「employee」テーブルから「name」という特定の列だけを選択し、「EMP_BACKUP1」という新しいテーブルを作成しています。

mysql> Create table EMP_BACKUP1 AS Select name from employee;
Query OK, 3 rows affected (0.25 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> Select * from EMP_BACKUP1;
+--------+
| name   |
+--------+
| Ram    |
| Gaurav |
| Mohan  |
+--------+
3 rows in set (0.00 sec)

結果の確認

実行結果を見ると、新しいテーブル「EMP_BACKUP1」には、元の「employee」テーブルから「name」列のデータと構造のみがコピーされていることがわかります。他の列は含まれていません。

このように、CTAS構文でSELECT句に列名を指定するだけで、必要な列だけを自由に組み合わせたバックアップテーブルや作業用テーブルを簡単に作成できます。複数の列を抽出したい場合は、「Select name, id from employee」のように列名をカンマで区切って指定することも可能です。

  1. MySQLのビューからテーブルを作成する方法を徹底解説!基本構文と実行手順

    ビューからテーブルを作成する基本構文 MySQLでは、ビュー(VIEW)をもとに新しいテーブルを簡単に作成できます。基本となる構文は以下の通りです。 create table yourTableName select * from yourViewName; このように「CREATE TABLE ... SELECT」構文を使うことで、ビューの構造とデータをそのまま新しいテーブルへ复制できます。以下、具体的な手順を見ていきましょう。 ステップ1:サンプルテーブルを作成する まず、元となるテーブルを作成します。 mysql> create table DemoTable830(Name

  2. MySQLで既存のテーブルから特定の行を選択して新しいテーブルを作成する方法

    すでに作成済みのテーブルを元に新しいテーブルを作成するには、CREATE TABLE AS SELECT文(CTAS)を使用します。この構文では、SELECT句とWHERE句を組み合わせることで、条件に一致するレコードだけを格納したテーブルを簡単に複製できます。ここでは、実際のコード例をもとに手順を詳しく解説します。 手順1:元となるテーブルを作成する まずはサンプルとして、Id、FirstName、LastName、Ageの4つのカラムを持つテーブルを定義します。 mysql> create table DemoTable1318 -> ( -> Id int, -&