sql >> データベース >  >> RDS >> Mysql

CREATE TABLE ASを使用して他のテーブルからデータを選択し、新しいテーブルを作成します

    SQLデータ操作ステートメントを使用することにより、新しい、一時、バックアップ、または通常のテーブルを作成し、SELECTステートメントによって取得された別のテーブルからのデータを入力または挿入できます。 SQLデータ操作言語はCREATETABLEASであり、データベース内にすでに存在するテーブルに対するクエリによって結果セットの内容から構築された新しいテーブルを作成するために使用できます。新しいテーブルの列タイプと行データはどちらも、selectで指定されたSELECTコマンドから取得されます。

    CREATE TABLE ASには、単純な形式で次の構文または概要があります。

    CREATE TABLE new_table_name [ ( column [, ...] ) ] AS SELECT [ ( column [, ...] ) ] FROM existing table_name

    SELECTステートメントは、データが複数のテーブルから取得される複雑な形式にすることができます。新しいテーブルの場合、列名は、列名をコンマ区切りのリストに含めることで指定できます。注意すべき非常に重要な点は、新しいテーブルのAS句の前の列リスト(指定されている場合はオプション)で、selectステートメントによって返されるターゲット列の数と同じ数の列が指定されている必要があることです。新しいテーブルの括弧内のオプションの列リストに、SELECTステートメントが返す行とは異なる行数が含まれている場合、次のエラーメッセージが表示されます。

    エラー:CREATE TABLE /ASSELECTの列数が一致していません

    最も単純な形式では、CREATE TABLE ASステートメントは、ステートメントを使用するだけで、すべての列とデータを含む既存のテーブルの完全なバックアップを作成します。

    CREATE TABLE new_table_name AS SELECT * FROM existing_table_name


    1. 制約付きの列を削除する方法は?

    2. sqliteDBからテーブル名を一覧表示する方法-Android

    3. MySQLを使用して外部キーを使用してテーブルに値を挿入するにはどうすればよいですか?

    4. SQL-複数のテーブルからビューを作成します