Mysql
 sql >> база данни >  >> RDS >> Mysql

Създайте нова таблица, като изберете данни от други таблици с CREATE TABLE AS

Чрез използване на оператор за манипулиране на SQL данни може да се създаде нова, временна, резервна или обикновена таблица и да се попълни или вмъкне с данни от друга таблица или таблици, извлечени от оператор SELECT. Езикът за манипулиране на SQL данни е CREATE TABLE AS, който може да се използва за създаване на нова таблица, изградена от съдържанието на набор от резултати чрез заявка към таблица, която вече съществува в базата данни. Както типовете колони, така и данните от редовете за новата таблица идват от командата SELECT, посочена от select.

CREATE TABLE AS има следния синтаксис или синопсис в проста форма:

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

Инструкцията SELECT може да бъде в сложна форма, при която данните се извличат от няколко таблици. За новата таблица имената на колони могат да бъдат посочени чрез включване на имената на колоните в списък, разделен със запетая. Много важен момент, който трябва да се отбележи, е, че трябва да има същия брой колони, посочени в списъка с колони, предхождащи AS клаузата (по избор, ако е посочена) за нова таблица като броя на целевите колони, които се връщат от оператора select. Ако незадължителният списък с колони в скоби на новата таблица съдържа различен брой редове от редовете, които операторът SELECT връща, ще се покаже следното съобщение за грешка:

ГРЕШКА:CREATE TABLE/AS SELECT има несъответстващ брой колони

В най-простата си форма операторът CREATE TABLE AS ще създаде пълно архивиране на съществуваща таблица, включително всички колони и данни, просто като използва израза:

CREATE TABLE new_table_name AS SELECT * FROM existing_table_name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Може ли MySQL да замени няколко знака?

  2. QUARTER() Примери – MySQL

  3. Предотвратяване на атаки с инжектиране на SQL в програма на Java

  4. Вмъкване в няколко таблици в една заявка

  5. MySQL срещу MongoDB