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」のように列名をカンマで区切って指定することも可能です。
-
MySQLのビューからテーブルを作成する方法を徹底解説!基本構文と実行手順
ビューからテーブルを作成する基本構文 MySQLでは、ビュー(VIEW)をもとに新しいテーブルを簡単に作成できます。基本となる構文は以下の通りです。 create table yourTableName select * from yourViewName; このように「CREATE TABLE ... SELECT」構文を使うことで、ビューの構造とデータをそのまま新しいテーブルへ复制できます。以下、具体的な手順を見ていきましょう。 ステップ1:サンプルテーブルを作成する まず、元となるテーブルを作成します。 mysql> create table DemoTable830(Name
-
MySQLで既存のテーブルから特定の行を選択して新しいテーブルを作成する方法
すでに作成済みのテーブルを元に新しいテーブルを作成するには、CREATE TABLE AS SELECT文(CTAS)を使用します。この構文では、SELECT句とWHERE句を組み合わせることで、条件に一致するレコードだけを格納したテーブルを簡単に複製できます。ここでは、実際のコード例をもとに手順を詳しく解説します。 手順1:元となるテーブルを作成する まずはサンプルとして、Id、FirstName、LastName、Ageの4つのカラムを持つテーブルを定義します。 mysql> create table DemoTable1318 -> ( -> Id int, -&