欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL数据库表的数据插入、修改、删除操作实验

程序员文章站 2022-04-03 22:41:23
...

验证性实验

学校教师管理数据库中的teacherInfo表,其表的定义如下表所示,请完成如下操作:

create database sttafinfo;

 use sttafinfo;

CREATE TABLE  teacherInfo (
num INT(10)NOT NULL  UNIQUE  ,
Name VARCHAR(20)NOT NULL,
Sex VARCHAR(4)NOT NULL,
Birthday DATETIME,
Address VARCHAR(50)
);

MySQL数据库表的数据插入、修改、删除操作实验
剩下的上截图:
(1)向teacherInfo表中插入记录。写出INSERT语句的代码如下:
(1)向teacherInfo表中插入记录。写出INSERT语句的代码如下:

INSERT INTO teacherInfo VALUES(1001,'张龙','男','1984-11-08','北京市昌平区');
INSERT INTO teacherInfo VALUES(1002,'李梅','女','1970-01-21','北京市海淀区');
INSERT INTO teacherInfo VALUES(1003,'王一丰','男','1976-10-30','北京市昌平区');
INSERT INTO teacherInfo VALUES(1004,'赵六','男','1980-06-05','北京市顺义区');

MySQL数据库表的数据插入、修改、删除操作实验
(2)更新教工号为1003的记录,将生日(birthday)改为“1982-11-08”。
UPDATE语句的代码如下:

UPDATE teacherInfo SET birthday='1982-11-08' WHERE num=1003;

MySQL数据库表的数据插入、修改、删除操作实验
(3)将性别(sex)为“男”的记录的家庭住址(address)都变为“北京市朝阳区”。UPDATE语句的代码如下:

UPDATE teacherInfo SET address='北京市朝阳区' WHERE sex='男';

MySQL数据库表的数据插入、修改、删除操作实验
(4)删除教工号(num)为1002的记录删除。DELETE语句的代码如下:

DELETE FROM teacherInfo WHERE num=1002;

MySQL数据库表的数据插入、修改、删除操作实验
某超市的食品管理的数据库的Food表,Food表的定义如表所示,请完成插入数据、更新数据和删除数据。

create database foodinfo;

 use foodinfo;

CREATE TABLE  Food (
foodid INT(4) NOT NULL  UNIQUE   PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(20)NOT NULL,
Company VARCHAR(20) NOT NULL,
Price FLOAT NOT NULL,
Product_time YEAR,
Validity_time INT(4),
address VARCHAR(50)
);

MySQL数据库表的数据插入、修改、删除操作实验
(1)采用3种方式,将表的记录插入到Food表中。
方法一:不指定具体的字段,插入数据: ‘QQ饼干’,‘QQ饼干厂’,2.5,‘2008’,3,‘北京’。

INSERT INTO Food VALUES(foodid,'QQ饼干','QQ饼干厂',2.5,'2008',3,'北京');

MySQL数据库表的数据插入、修改、删除操作实验
方法二:依次指定food表的字段,插入数据: ‘MN牛奶’,‘MN牛奶厂’,3.5,‘2009’,1,‘河北’)。

INSERT INTO Food VALUES(1,'MN牛奶','MN牛奶厂',3.5,'2009',1,'河北');

MySQL数据库表的数据插入、修改、删除操作实验
方法三:同时插入多条记录,插入数据:
‘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',3,'广东');

MySQL数据库表的数据插入、修改、删除操作实验
分别写出相应语句。
(2)将“MN牛奶厂”的厂址(address)改为“内蒙古”,并且将价格改为3.2。

UPDATE Food SET address='内蒙古',Price=3.2 WHERE Company='MN牛奶厂';

MySQL数据库表的数据插入、修改、删除操作实验(3)将厂址在北京的公司的保质期(validity_time)都改为5年。

UPDATE Food SET Validity_time=5 WHERE address='北京';

MySQL数据库表的数据插入、修改、删除操作实验
(4)删除过期食品的记录。若当前时间-生产年份(produce_time)>保质期(validity_time),则视为过期食品。

DELETE FROM Food WHERE Validity_time<(2012-Product_time);

MySQL数据库表的数据插入、修改、删除操作实验
(5)删除厂址为“北京”的食品的记录。

DELETE FROM Food WHERE address='北京';

MySQL数据库表的数据插入、修改、删除操作实验
1.对于删除的数据,如何实现”逻辑删除“(即数据库中的数据不删除,给用户的感觉是删除了)​?
答:逻辑删除就是对要被删除的数据打上一个删除标记,通常使用一个is_deleted字段标示行记录是不是被删除(或者使用一个status字段代表所谓的“删除”状态),在逻辑上是数据是被删除的,但数据本身是依然存在的,逻辑删除恢复的话只要修改is_deleted等类似的状态标示字段就可以了,但是表的数据量肯定会比物理删除增加了,并且查询时经常要考虑到is_deleted字段,对索引都会有影响。
2.DROP命令和DELETE命令的本质区别是什么?
答:
1)、触发条件不同
DELETE命令是数据库操作语言(DML),这个操作会放到rollbacksegement中,在事务提交后生效,执行时触发相应的trigger。
DROP命令是数据库定义语言(DDL),操作立即生效,原数据不放到rollbacksegment中,不能回滚,操作不触发trigger。
2)、用法不同
DELETE命令只删除内容、释放空间但不删除定义,而DROP命令即可以对行数据进行删除,也可以对整表数据进行删除。
DROP命令是删除内容和定义,并释放空间。执行DROP命令,将使此表的结构一起删除。
3)、执行速度不同
DROP命令的执行速度大于DELETE命令。
DELETE命令的执行速度小于DROP命令。
3.利用INSERT、UPDATE和DELETE命令可以同时对多个表进行操作吗?
答:不可以,不然怎么会有多表连接操作。

实验总结:写了才知道。嘿嘿!!!

相关标签: MySQL作业