2010-03-18 2 views
2

я был своего рода удивлен, когда я увидел следующее:Использование «AS» в MySQL - не как псевдонимами

CREATE TEMPORARY TABLE X (ID int) AS SELECT NumColumn FROM Table 

Я попытался Google это, но можно найти только используя это в качестве alieases. Что это такое на самом деле? Я чувствую себя немного запутался, так как я тупо создает временную таблицу, а затем заполнить его с помощью вставки ..

Спасибо

ответ

3

Сво как создать временную таблицу и заполнить его с результатами запроса на выборку.

Вы можете увидеть его in the documentation в самом низу спецификации CREATE TABLE

select_statement:
[ИГНОРИРУЙТЕ | REPLACE] [AS] SELECT ... (Некоторая правовая выписка)

1

Это создаст временную таблицу для вас, но просто помните, что это не принесет никаких указаний, которые вы имели на исходной таблице. По этой причине, иногда это может быть лучше создать полную копию определения таблицы с использованием

create table x like y; 

Поскольку это только создает пустую таблицу, вам необходимо также запустить

insert into x (col1) select col1 from y; 
1

CREATE TABLE (table name) AS SELECT * FROM (existing table name);

эта команда для копирования всей таблицы в другую таблицу;