实验二 数据更新与SQL简单查询

实验二 数据更新与SQL简单查询

1.插入数据

①在产品表格中插入一种新产品。

0077、瓷器,单位(件)、8000、3、1002、10000.00

insert into 产品 VALUES
('0077','瓷器,单位(件)',8000,3,'1002',10000.00);

②在订单表中插入新订单。

666、2003-06-06、300

insert into 订单 VALUES
('666','2003-06-06','300');

③在代理商表中插入新代理商。

05、海信、中山路9号、541000、200000.00、60

insert into 代理商 VALUES
('05','海信','中山路9号','541000',200000.00,60);

备用句子:

找到所有外键约束

select *
from sys.foreign_keys
where referenced_object_id=object_id('订单')
order by 1

添加外键约束

alter table 从表              
add constraint 约束名 <br>   foreign key(关联字段) references 主表(关联字段)   

alter table 订货项目
add foreign key(订单编号)
references 订单(订单编号)

删除外键约束

ALTER TABLE 订货项目
DROP CONSTRAINT fk_PerOrders

2.修改数据

① 更新所有代理商的提成比例为20%。

update 代理商 set 提成比例=20;

② 为产品表格增加一个新字段----缺货量。

alter table 产品 add 缺货量 smallint;

③ 将编号为0011的产品单价更新为1000。

update 产品 set 价格=1000 where 产品编号='0011';

3.删除数据

① 删除编号为700的客户。

delete from 客户 where 客户编号='700'

② 删除编号为05的代理商。

delete from 代理商 where 代理商编号='05'

③ 删除订单编号为444的所有订货项目。

delete from 订货项目 where 订单编号='444'

4.建立与删除[索引]

在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。

create index 代理商索引 on 代理商(代理商编号)
create index 客户索引 on 客户(客户编号)
create index 产品索引 on 产品(产品编号)
create index 订单索引 on 订单(订单编号)
CREATE INDEX 代理商编号索引
ON 代理商 (代理商编号)

drop index 代理商编号索引 on 代理商
CREATE INDEX 客户编号索引
ON 客户 (客户编号)

drop index 客户编号索引 on 客户
CREATE INDEX 产品编号索引
ON 产品 (产品编号)

drop index 产品编号索引 on 产品
CREATE INDEX 订单编号索引
ON 订单 (订单编号)

drop index 订单编号索引 on 订单

5.单表查询

① 从产品表中查询现有产品的产品编号和库存量。

select 产品编号,库存量 from 产品;

② 从客户表中查询“王五”的代理商编号及地址。

select 代理商编号,地址 from 客户 where 姓名='王五';

③ 从代理商表中查询姓名为“惠普”的提成金额。

select 提成金额 from 代理商 where 姓名='惠普';

④ 从订货项目表中查询订单编号为“444”的订单所订购的产品的产品编号及订购数量。

select 产品编号,订购数量 from 订货项目 where 订单编号='444';

猜你喜欢

转载自www.cnblogs.com/lightice/p/12692489.html