1.实验目的及要求
(1)掌握表数据的插入、修改和删除操作。
(2)具备编写和调试插入数据、修改数据和删除数据的代码的能力。
2.验证性实验
在商店实验数据库(storeexpm)中,员工表(employee)、部门表(department)、商品表(goods)的样本数据分别如表2.1至表2.3所示。
员工号 姓名 性别 出生日期 地址 工资 部门号
E001 刘思远 男 1980-11-07 北京市海淀区 4100 D001
E002 何莉娟 女 1987-07-18 武汉市江夏区 3300 D002
E003 杨静 女 1984-02-25 上海市浦东区 3700 D003
E004 王贵成 男 1974-09-12 北京市海淀区 6800 D004
E005 孙燕 女 1985-02-23 NULL 3600 D001
E006 周永杰 男 1979-10-28 成都市锦江区 4300 NULL
表2.1 employee表的样本数据
部门号 部门名称
D001 销售部
D002 人事部
D003 财务部
D004 经理办
D005 物资部
表2.2 department表的样本数据
商品号 商品名称 商品类型 单价 库存量
1001 Microsoft Surface Pro 4 笔记本电脑 5488 12
1002 Apple iPad Pro 平板电脑 5888 12
3001 DELL PowerEdgeT130 服务器 6699 10
4001 EPSON L565 打印机 1899 8
表2.3 goods表的样本数据
编写和调试表数据的插入、修改和删除的代码,完成以下操作。
(1)向goods表插入样本数据。
创建goods
插入数据
(2)使用insert into …select…语句,将goods表的记录快速插入goods1的表中。
创建goods1
插入数据
(3)采用三种不同的方法,想goods2表插入数据。
创建goods2
①省略列表名,插入记录('1001','Microsoft Surface Pro 4','笔记本电脑','5488','12')。
②不省略列表名,插入商品号为1002,商品名称为“Apple iPad Pro”,库存量为12,单价为 5888,商品类型为“平板电脑”的记录。
③插入商品号为3001,商品名称为DELL PowerEdgeT130,商品类型为“服务器”,单价为 空,库存量为5、取默认值的记录。
(4)在goods1表中,将商品名称为Microsoft Surface Pro 4的类型改为“笔记本平板电脑二合一”。
(5)在goods1表中,将商品名称为EPSON L565的库存量改为10
(6)在goods1表中,删除商品类型为平板电脑的记录。
现在查看一下两个表目前的状态:
goods1
goods2
(7)采用两种不同的方法,删除表中的全部记录。
①使用delete语句,删除goods1表中的全部记录。
②使用truncate语句,删除goods2表中的全部记录。
注:补充一下delete和truncate的区别
delete:用于删除表中的所有行,而不是删除表的定义。
truncate:用于删除原来的表并重新创建一个新表,而不是逐行删除表中记录,执行速度比 delete更快。
源代码:
create table goods(
goodsid varchar(4) not null primary key,
goodsname varchar(24) not null,
classification varchar(16) not null comment '商品类型',
unitprice decimal(8,2) comment '单价',
stockquantity int not null default 5 comment '库存量');
insert into goods
values('1001','Microsoft Surface Pro 4','笔记本电脑','5488','12'),
('1002','Apple iPad Pro','平板电脑','5888','12'),
('3001','DELL PowerEdgeT130','服务器','6699','10'),
('4001','EPSON L565','打印机','1899','8');
insert into goods1
select * from goods;
insert into goods2
values('1001','Microsoft Surface Pro 4','笔记本电脑','5488','12');
insert into goods2(goodsid,goodsname,classification,unitprice,stockquantity)
values ('1002','Apple iPad Pro','平板电脑','5888','12');
insert into goods2(goodsid,goodsname,classification)
values ('3001','DELL PowerEdgeT130','服务器');
update goods1
set stockquantity = '10'
where goodsname = 'EPSON L565';
update goods1
set classification = '笔记本平板电脑二合一'
where goodsname = 'Microsoft Surface Pro 4';
delete from goods1
where classification = '平板电脑';
delete from goods1;
truncate goods2;