INSERT INTO
INSERT INTO <表名> (列1,列2,列3,……列n) VALUES (值1,值2,值3,……值n)
从函数的基本语法可以看出,函数列名数和值数必须得一一对应!
insert into 表名 (字段,字段,……)
values
('制芯','吸尘器巡检','风机房','电机4根皮带完好无缺失、开裂情况','目视'),
('制芯','冷芯机巡检','抽真空泵','抽真空泵出口负压表读数数值≥-0.5bar','目视');
插入多行数据的时候,以“,”作为间隔,隔开!
原则上,执行一次INSERT语句会插入一行数据,但是按照上面的方式进行操作,就可以一次性插入多条数据。
省略列清单INSERT
INSERT INTO ShohinIns VALUES('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');
- 对表进行全列INSERT时,可以省略表名后的列清单。这时VALUES子句的值会默认按照从左到右的顺序赋给每一列。可以得知,如果中间要跳过某个列进行赋值操作,这是不行的;同时,如果后面有没有赋值的列,将会给默认值NULL。
插入默认值
我们还可以向表中插入默认值(初始值)。默认值的设定,可以通过在创建表的CREATE TABLE语中设置DEFAULT约束来实现
- 显示设置默认值:
INSERT INTO ShohinIns (shohin_id, shohin_mei, shohin_bunrui, hanbai_tanka, shiire_tanka, torokubi)
VALUES ('0007', '擦菜板', '厨房用具', 'DEFAULT', 790, '2009-04-28');
其中DEFAULT就是默认值的意思。
- 隐式设置默认值:
INSERT INTO ShohinIns (shohin_id, shohin_mei, shohin_bunrui, shiire_tanka, torokubi)
VALUES ('0007', '擦菜板', '厨房用具', 790, '2009-04-28');
直接把为默认值的列删掉就行了,如果没有默认值,那些列会被自动设置为NULL值!
从其他表中赋值数据
INSERT …… SELECT 语句
-- 将商品表中的数据复制到商品复制表中(复制)
INSERT INTO ShohinCopy (shohin_id, shohin_mei, shohin_bunrui, hanbai_tanka, shiire_tanka, torokubi)
SELECT shohin_id, shohin_mei, shohin_bunrui, hanbai_tanka, shiire_tanka, torokubi
FROM Shohin;
该INSERT语句中的SELECT语句,也可以使用WHERE子句或者GROUP BY子句等。目前为止学到的各种SELECT语句也都可以使用。