sql >> Databasteknik >  >> RDS >> Mysql

Skapa ny tabell genom att välja data från andra tabeller med CREATE TABLE AS

Genom att använda SQL-datamanipulationssats kan en ny, temporär, backup eller vanlig tabell skapas och fyllas eller infogas med data från en annan tabell eller tabeller hämtade med SELECT-satsen. SQL-datamanipuleringsspråket är CREATE TABLE AS som kan användas för att skapa en ny tabell byggd från innehållet i resultatet som satts av en fråga i en tabell som redan finns i databasen. Både kolumntyperna och raddata för den nya tabellen kommer från SELECT-kommandot som anges av select.

CREATE TABLE AS har följande syntax eller synopsis i enkel form:

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

SELECT-satsen kan vara i en komplex form där data hämtas från flera tabeller. För den nya tabellen kan kolumnnamn anges genom att inkludera kolumnnamnen i en kommaavgränsad lista. En mycket viktig punkt att notera är att det bör finnas samma antal kolumner som anges i kolumnlistan före AS-satsen (valfritt, om specificerat) för ny tabell som antalet målkolumner som returneras av select-satsen. Om den valfria listan med kolumner inom parentes i den nya tabellen innehåller ett annat antal rader än de rader som SELECT-satsen returnerar, kommer följande felmeddelande att visas:

FEL:CREATE TABLE/AS SELECT har inte matchat kolumnantal

I sin enklaste form kommer CREATE TABLE AS-satsen att skapa en komplett säkerhetskopia av en befintlig tabell inklusive alla kolumner och data helt enkelt genom att använda satsen:

CREATE TABLE new_table_name AS SELECT * FROM existing_table_name


  1. Vad är MySQL-frågans motsvarighet till PHP strip_tags?

  2. Gör en ackumulerad summa i view oracle

  3. SQLiteConstraintException-fel visas efter start av varje aktivitet

  4. Installera Microsoft SQL Server 2012 Enterprise Edition med Service Pack 1