SQL Server 创建表、插入数据和视图更新操作

本文将介绍如何在 SQL Server 中创建表、插入数据以及如何通过视图更新数据。

创建表

首先,我们使用以下代码在 SQL Server 中创建三个表:PAPERCUSTOMERCP

CREATE TABLE PAPER
(
pno char(6) PRIMARY KEY,
 pna char(10),
 ppr float
);

CREATE TABLE CUSTOMER
(
cno char(8) PRIMARY KEY,
 cna char(10),
 adr char(20)
);

CREATE TABLE CP
(
cno char(8),
 pno char(6),
 num int ,
 PRIMARY KEY(pno,cno),
 FOREIGN KEY (pno) REFERENCES PAPER(pno),
 FOREIGN KEY (cno) REFERENCES CUSTOMER(cno)
);

插入数据

创建表后,我们可以使用以下代码为每个表插入数据:

insert into paper(pno,pna,ppr)
   values('000001','人民日报',12.5) ;
   insert into paper(pno,pna,ppr)
   values('000002','解放军报',14.5) ;
insert into paper(pno,pna,ppr)
   values('000003','光明日报',10.5) ;
insert into paper(pno,pna,ppr)
   values('000004','青年报',11.5) ;
insert into paper(pno,pna,ppr)
   values('000005','扬子晚报',18.5) ;

insert into customer(cno,cna,adr)
   values('10000001','李涛','无锡市解放东路123号') ;
insert into customer(cno,cna,adr)
   values('10000002','钱金浩','无锡市人民西路234号') ;
insert into customer(cno,cna,adr)
   values('10000003','邓杰','无锡市惠河路270号') ;
insert into customer(cno,cna,adr)
   values('10000004','朱海红','无锡市中山东路432号') ;
insert into customer(cno,cna,adr)
   values('10000005','欧阳阳文','无锡市中山东路532号') ;
 
insert into cp(cno,pno,num)
   values('10000001','000001',2) ;
insert into cp(cno,pno,num)
   values('10000001','000005',6) ;
insert into cp(cno,pno,num)
   values('10000002','000003',2) ;

insert into cp(cno,pno,num)
   values('10000003','000003',2) ;
insert into cp(cno,pno,num)
   values('10000004','000001',1) ;
insert into cp(cno,pno,num)
   values('10000004','000005',2) ;
insert into cp(cno,pno,num)
   values('10000005','000002',1) ;
insert into cp(cno,pno,num)
   values('10000005','000005',5) ;
insert into cp(cno,pno,num)
   values('10000001','000002',4) ;
insert into cp(cno,pno,num)
   values('10000002','000001',2) ;
insert into cp(cno,pno,num)
   values('10000002','000005',2) ;
insert into cp(cno,pno,num)
   values('10000003','000004',4) ;
insert into cp(cno,pno,num)
   values('10000004','000003',3) ;
insert into cp(cno,pno,num)
   values('10000005','000003',4) ;
insert into cp(cno,pno,num)
   values('10000005','000004',3) ;
insert into cp(cno,pno,num)
   values('10000005','000001',4) ;

创建视图 C_P_N

接下来,我们将创建一个名为 C_P_N 的视图,包含顾客编号、顾客名称、报纸编号、报纸名称和订阅份数信息。

CREATE VIEW C_P_N AS 
SELECT CP.cno, CUSTOMER.cna, CP.pno, PAPER.pna, CP.num
FROM CP
INNER JOIN CUSTOMER ON CP.cno = CUSTOMER.cno
INNER JOIN PAPER ON CP.pno = PAPER.pno;

更新数据

现在,我们可以通过视图 C_P_N 更新数据,比如修改某人订阅某份报纸的份数。

方法一:直接更新基表 CP

UPDATE CP
SET num = 3
WHERE cno = '10000001' AND pno = '000001';

方法二:通过视图 C_P_N 更新数据

UPDATE C_P_N
SET num = 3
WHERE cno = '10000001' AND pno = '000001';

注意:

视图上的更新操作实际上是对基表进行更新,因此需要满足基表的更新条件和约束。

通过以上步骤,我们就成功地创建了表、插入了数据以及创建了一个视图并通过视图更新了基表数据。

SQL Server 创建表、插入数据和视图更新操作

原文地址: https://www.cveoy.top/t/topic/mOFI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录