本文介绍: INSERT INTO Food VALUES(2,‘MN牛奶’,‘MN牛奶厂’,3.5,‘2009’,1,‘河北’);方法二:依次指定food表的字段插入数据: ‘MN牛奶’,‘MN牛奶厂’,3.5,‘2009’,1,‘河北’)。方法一:不指定具体的字段插入数据: ‘QQ饼干’,‘QQ饼干厂’,2.5,‘2008’,3,‘北京’。VALUES(3,‘EE果冻’,‘EE果冻厂’,1.5,‘2007’,2,‘北京’),(4,‘FF咖啡’,‘FF咖啡厂’,20,‘2002’,5,‘天津’),

一、实验目的

1.掌握MySQL数据库表的数据插入修改删除操作SQL语法格式
2.掌握数据表数据的录入、增加和删除方法

二、设计实验

超市的食品管理数据库的Food表,Food表的定义如表所示,请完成插入数据更新数据和删除数据。
在这里插入图片描述
按照下列要求进行操作


(1)采用3种方式,将表的记录插入到Food表中。
方法一:不指定具体的字段,插入数据: ‘QQ饼干’,‘QQ饼干厂’,2.5,‘2008’,3,‘北京’。

INSERT INTO Food VALUES(foodid,‘QQ饼干’,‘QQ饼干厂’,2.5,‘2008’,3,‘北京’);
在这里插入图片描述

方法二:依次指定food表的字段,插入数据: ‘MN牛奶’,‘MN牛奶厂’,3.5,‘2009’,1,‘河北’)。

INSERT INTO Food VALUES(2,‘MN牛奶’,‘MN牛奶厂’,3.5,‘2009’,1,‘河北’);
在这里插入图片描述
方法三:同时插入多条记录,插入数据:
‘EE果冻’,‘EE果冻厂’,1.5,‘2007’,2,‘北京’,
‘FF咖啡’,‘FF咖啡厂’,20,‘2002’,5,‘天津’,
(‘GG奶糖’,‘GG奶糖’,14,‘2003’,3,‘广东’;
分别写出相应语句

INSERT INTO Food (foodid,Name,Company,Price,Product_time,Validity_time,address)
VALUES(3,‘EE果冻’,‘EE果冻厂’,1.5,‘2007’,2,‘北京’),
(4,‘FF咖啡’,‘FF咖啡厂’,20,‘2002’,5,‘天津’),
(5,‘GG奶糖’,‘GG奶糖厂’,14,‘2003’,2,‘广东’);
在这里插入图片描述


(2)将“MN牛奶厂”的厂址(address)改为“内蒙古”,并且将价格改为3.2。

UPDATE Food SET address=‘内蒙古’,Price=3.2 WHERE Company=‘MN牛奶厂’;
在这里插入图片描述


(3)将厂址在北京的公司的保质期(validity_time)都改为5年。

UPDATE Food SET Validity_time=5 WHERE address=‘北京’;
在这里插入图片描述


(4)删除过期食品的记录。若当前时间-生产年份(producetime)>保质期(validity_time),则视为过期食品。

DELETE FROM food WHERE Validity_time<(2023-Product_time);
在这里插入图片描述


(5)删除厂址为“北京”的食品的记录。

DELETE FROM Food WHERE address=‘北京’;
在这里插入图片描述

三、观察与思考

1.对于删除的数据,如何实现逻辑删除“(即数据库中的数据不删除,给用户的感觉是删除了)?
将删除标记设置默认值(例如0),将唯一字段与删除标记添加一键约束。当某一记录需要删除时,将删除标记置为NULL。
由于NULL不会和其他字段有组合一键效果,所以当记录被删除时(删除标记被置为NULL时),解除了唯一键约束。此外该方法能很好地解决批量删除的问题(只要置为NULL就完事了),消耗的空间也并不多(1位 + 联合索引)。

2.DROP命令和DELETE命令的本质区别是什么?

  1. 触发条件不同
    delete语句数据库操作语言dml),这个操作会放到rollbacksegement中,在事务提交后生效,执行时触发相应的trigger。drop数据库定义语言(ddl),操作立即生效,原数据不放到rollbacksegment中,不能回滚,操作不触发trigger。

  2. 用法不同
    delete只删除内容、释放空间但不删除定义,而delete可以行数据进行删除,也可以对整表数据进行删除。drop是删除内容和定义,并释放空间执行drop语句,将使此表的结构一起删除。

  3. 执行速度不同
    drop执行速度大于deletedelete执行速度小于drop

3.利用INSERT、UPDATE和DELETE命令可以同时对多个表进行操作吗?
可以,只能对单表进行操作

原文地址:https://blog.csdn.net/qq_61770805/article/details/134515479

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_5983.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注