我特别要求MySQL,但答案可能适用于很多SQL数据库。
如果我有这样的选择语句:
select * from users where age > 5;
如何将其分配给新表?
答案 0 :(得分:5)
insert into old_farts
select * from users where age > 5;
Here's参考页。
答案 1 :(得分:5)
至少在Oracle中,您可以执行类似
的操作CREATE TABLE SOME_KIDS AS
SELECT * FROM USERS WHERE AGE > 5;
答案 2 :(得分:3)
您需要使用INSERT...SELECT
语法 -
INSERT INTO NewTable SELECT * FROM Users WHERE AGE > 5
(已编辑添加:在SQL中为SELECT * INTO NewTable FROM Users WHERE AGE > 5
)
答案 3 :(得分:1)
听起来你真正想要的是view。
CREATE OR REPLACE VIEW users_over_five AS (SELECT * FROM users WHERE age > 5);
除非您需要non-normalized database,或者只是为了维护而移动数据,否则就可以使用视图了。