sql >> Databáze >  >> RDS >> Mysql

Vytvořte novou tabulku výběrem dat z jiných tabulek pomocí CREATE TABLE AS

Pomocí příkazu pro manipulaci s daty SQL lze vytvořit novou, dočasnou, záložní nebo běžnou tabulku a vyplnit nebo vložit data z jiné tabulky nebo tabulek načtených příkazem SELECT. Jazyk SQL pro manipulaci s daty je CREATE TABLE AS, který lze použít k vytvoření nové tabulky sestavené z obsahu sady výsledků dotazem na tabulku, která již v databázi existuje. Jak typy sloupců, tak data řádků pro novou tabulku pocházejí z příkazu SELECT určeného příkazem select.

CREATE TABLE AS má následující syntaxi nebo přehled v jednoduché podobě:

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

Příkaz SELECT může být ve složité formě, kde jsou data načítána z několika tabulek. Pro novou tabulku lze zadat názvy sloupců zahrnutím názvů sloupců do seznamu odděleného čárkami. Velmi důležitým bodem, který je třeba vzít na vědomí, je, že v seznamu sloupců před klauzulí AS by měl být stejný počet sloupců (nepovinné, pokud je zadán) pro novou tabulku jako počet cílových sloupců, které vrací příkaz select. Pokud volitelný seznam sloupců v závorkách nové tabulky obsahuje jiný počet řádků než řádky vrácené příkazem SELECT, zobrazí se následující chybová zpráva:

CHYBA:CREATE TABLE/AS SELECT má nesprávný počet sloupců

Ve své nejjednodušší podobě příkaz CREATE TABLE AS vytvoří úplnou zálohu existující tabulky včetně všech sloupců a dat jednoduše pomocí příkazu:

CREATE TABLE new_table_name AS SELECT * FROM existing_table_name


  1. SQL dotaz pro zobrazení nejbližšího data?

  2. Jak získat krátký název měsíce z data v MariaDB

  3. Výpadky s EMCLI

  4. Jednoduchý úvod do používání MySQL na linuxovém terminálu