如果需要批量复制或者存档,用insert显然工作量很大,因此我们需要快速复制
1,复制整张表(单纯复制,属性没有复制过来)
create table orders_archived as
select*from orders #sub query 子查询
结果
但是用设计模式打开,,会发现
2,删除archieved表中的数据,右键truncate table
只把orders里面2019年之前的记录放到archived里面
insert into orders_archived
select *
from orders
where order_date <'2019-01-01'
练习:复制创建invoices_archived:把客户id变成客户名,并且只含有支付过的发票
答案:
use sql_invoicing;
create table invoices_archived as
select
i.invoice_id,
i.number,
c.name as client,
i.invoice_total,
i.payment_total,
i.invoice_date,
i.due_date,
i.payment_date
from invoices i
join clients c
using(client_id)
where payment_date is not null
此时已经创建成功,如果再次运行会报错,因为已有表格
3,删除表:右键,drop table