ホームページ > データベース > mysql チュートリアル > 明示的な列定義なしで SELECT ステートメントから一時テーブルを作成できますか?

明示的な列定義なしで SELECT ステートメントから一時テーブルを作成できますか?

Barbara Streisand
リリース: 2024-12-20 03:06:18
オリジナル
712 人が閲覧しました

Can I Create a Temporary Table from a SELECT Statement Without Explicit Column Definitions?

明示的な列宣言のない一時テーブル

クエリ:

一時 (セッション専用) テーブルを単独で作成できますか別個の CREATE TABLE ステートメントや面倒な列の型に依存することなく、SELECT ステートメントから実行できます。仕様?

説明:

一時テーブルは、データベース操作中に中間データを格納するのに役立つことがよくあります。 CREATE TABLE コマンドを使用してこれらを作成するには、各列とそのデータ型を手動で指定する必要があり、時間がかかる可能性があります。

答え:

はい、可能です。次の構文を使用して、SELECT ステートメントから一時テーブルを直接作成します。

CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)
ログイン後にコピー

このコマンドは、以下:

  • 一時テーブルの作成: CREATE TEMPORARY TABLE 句は、table2 という名前の一時テーブルを作成します。
  • 自動列定義: SELECT * ステートメントは table1 テーブルからすべての列を選択し、自動処理により新しいテーブルの列とデータ型が定義されます。一時テーブル table2 が作成されました。
  • セッションのみの可視性: TEMPORARY キーワードで指定されているように、テーブルは現在のセッション中にのみ表示されます。
  • セッション終了時の暗黙的なドロップ: セッションの終了時に、一時テーブルは自動的に削除されるため、明示的な操作は必要ありません。

この方法では、CREATE TABLE ステートメントと列定義ステートメントを個別に作成する必要がなくなり、時間を節約できますが、一時テーブルを使用する利点も得られます。

以上が明示的な列定義なしで SELECT ステートメントから一時テーブルを作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート