SQL学习笔记——数据插入insert语句的使用

1、将列名和值用逗号隔开,分别括在()内,这种形式称为清单(列清单和值清单),表名后面的列清单和values 子句中的值清单的列数必须保持一致。

insert into <表名> (列1, 列2, 列3, ……) values (值1, 值2, 值3, ……);


insert into productIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date) 
VALUES ('0001', 'T恤衫', '衣服', 1000, 500, '2009-09-20');

2、对表进行全列inset 时,可以省略表名后的列清单。这时values子句的值会默认按照从左到右的顺序赋给每一列。

insert into productIns values ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11');

3、原则上,执行一次insert语句会插入一行数据,但是很多RDBMS 都支持一次插入多行数据,这样的功能称为多行insert。

insert into productIns values ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),
('0003', '运动T恤', '衣服', 4000, 2800, null),
('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');

4、insert 语句中想给某一列赋予null 值时,可以直接在values子句的值清单中写入null,但是,想要插入null 的列一定不能设置not null 约束

insert into productIns values ('0002', '打孔器', '办公用品', null, 320, '2009-09-11'),
('0003', '运动T恤', '衣服', 4000, 2800, null);

5、 向表中插入默认值(初始值)。可以通过在创建表的create table 语句中设置default约束来设定默认值,插入值时,默认值的插入法分为显式方法和隐式方法。显式方法时在values子句中指定default关键字;隐式方法是在列清单和values中省略设定了默认值的列。

create table productIns
(sale_price integer default 0, -- 默认值设定为0);

--显式的插入默认值:
insert into productIns (product_id, product_name, product_type,sale_price, purchase_price, regist_date) 
values ('0007','擦菜板', '厨房用具', default, 790, '2009-04-28');

--隐式的插入默认值:
insert into productIns (product_id, product_name, product_type,purchase_price, regist_date) values ('0007', '擦菜板', '厨房用具',790, '2009-04-28');
--其中sale_price列省略了,值也省略了

 6、要插入数据,除了使用values 子句指定具体的数据之外,还可以从其他表中复制数据。

insert into productCopy (product_id, product_name, product_type, sale_price,purchase_price, regist_date)
select product_id, product_name, product_type, sale_price, purchase_price, regist_date
from product;
--将表product中的选择的字段的数据,插入到productCopy表中

 该insert 语句中的select语句,也可以使用where 子句或者group by子句等,但使用order by子句并不会产生任何效果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值