insert用法小结

-- INSERT

##1)对表进行全列 INSERT 时,可以省略表名后的列清单。
 -- 这时 VALUES 子句的值会默认按照从左到右的顺序赋给每一列。

##2)INSERT 语句中想给某一列赋予 NULL 值时,可以直接在 VALUES 子句的值清单中写入 NULL

##3)显示方法插入默认值(建议显示)
INSERT INTO ProductIns (product_id, product_name, product_type,sale_price, purchase_price, regist_date) 
VALUES ('0007',  '擦菜板', '厨房用具', DEFAULT, 790, '2009-04-28');
-- 插入默认值时也可以不使用DEFAULT 关键字,
-- 只要在列清单和 VALUES 中省略设定了默认值的列就可以了。
INSERT INTO ProductIns (product_id, product_name, product_type,  purchase_price, regist_date) 
VALUES ('0007', '擦菜板', '厨房用具',  790, '2009-04-28');

##4)把一个表的数据复制到另一个表
-- 首先创建
CREATE TABLE ProductType 
(product_type VARCHAR(32) NOT NULL, 
sum_sale_price INTEGER  , 
sum_purchase_price INTEGER  , 
PRIMARY KEY (product_type));
-- insert ...SELECT....
INSERT INTO ProductType (product_type, sum_sale_price,  sum_purchase_price) 
SELECT product_type, SUM(sale_price), SUM(purchase_price)  
FROM Product GROUP BY product_type;