数据库实验SQL语言数据操纵语言DML.docx
- 文档编号:5504093
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:13
- 大小:204.69KB
数据库实验SQL语言数据操纵语言DML.docx
《数据库实验SQL语言数据操纵语言DML.docx》由会员分享,可在线阅读,更多相关《数据库实验SQL语言数据操纵语言DML.docx(13页珍藏版)》请在冰豆网上搜索。
数据库实验SQL语言数据操纵语言DML
实验实习名
SQL语言数据操纵语言DML
指导教师
考核成绩
课程名称
数据库原理
课程编号
实验实习地点
完成日期
2017-04-01
学生姓名
学生学号
学院专业
所在班级
教师评语
教师签名:
年月日
(以下为参考内容,具体内容要求由课程在实验实习指导书中规定。
)
一、实验实习目的及要求
1).实验目的:
SQL语言的数据操纵功能通过DML(数据维护语言)实现。
DML包括数据查询和数据更新两种数据操纵语句。
其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、更新和删除等数据维护操作。
本次实验了解DML语言的INSERT、UPDATE、DELETE等数据维护语言,掌握在NavicatforMySQL中用DML语言的INSERT、UPDATE、DELETE对表进行数据插入、更新和删除。
2).实验要求:
1、实验前:
预习实验内容,学习相关知识。
2、实验中:
按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:
分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。
二、实验实习设备(环境)及要求(软硬件条件)
硬件:
PC
软件:
Navicatformysql
三、实验实习内容与步骤
1).实验内容:
1.启动NavicatforMySQL,用INSERT语句对表进行单条数据插入操作,语法格式如下:
InsertInto<表名>[(<属性列1>[,<属性列2>]„)]Values(<常量1>[,<常量2>]„);其中,INSERTINTO指明要插入的表以及表中的属性列(字段),VALUES指要插入相应属性列(字段)的值。
例如:
Insertintotest(name,age,score,address)values('吴思远',35,,'重庆邮电大学计算机学院');
用INSERT语句对表进行批量数据插入操作,语法格式如下:
InsertInto<表名1>[(<属性列1>[,<属性列2>]„)]Select[(<属性列1>[,<属性列2>]„)]From<表名2>;
INSERT语句的批量插入,把从其他表中查询出来数据插入到当前表中。
例如:
Insertintotest(name,age,score,address)Select
name,age,score,addressfromtest_temp;
2.在NavicatforMySQL中,用UPDATE语句对表中已有的数据进行修改,语法格式如下:
Update<表名>Set<属性列>=<表达式>[,<属性列>=<表达式>][,„n][Where<条件>];
其中,表名指定要更新的表,SET指定要更新的属性列(字段)及其相应的值,WHERE指定更新条件。
例如:
Updatetestsetage=37wherename='吴思远'andaddress='重庆邮电大学计算机科学与技术学院';
3.在NavicatforMySQL中,用DELETE语句对表中已有的数据进行删除,语法格式如下:
DeleteFrom<表名>[Where<条件>];其中,FROM指定要删除数据的表,WHERE指定要删除数据的条件。
例如:
DeleteFromtestWhereage
2).实验步骤:
执行以下内容:
1.启动NavicatforMySQL,在MySQL–新建连接中完成连接参数配置。
2.登录到本地数据库服务器后,连接到test数据库上。
以下操作请全部使用SQL语句成
3.首先用CreateTable语句建立test表,test表定义如下所示:
4.用INSERT语句对表test,插入如下6条记录:
5.再用CreateTable语句建立test_temp表,test_temp表定义如下所示:
6.用INSERT语句对表test_temp,插入如下3条记录:
7.用INSERTINTO...SELECT...FROM语句将test_temp表中的数据,插入到test表中。
8.用UPDATE语句将test表中年龄小于等于20的数据将成绩更新为原来的成绩加5分。
9.用UPDATE语句将test表中居住在南福苑所有学生的年龄减少1,岁。
10.用DELETE语句将test表中年龄大于等于21并且成绩大于等于500的学生数据删除掉。
11.用D,ELETE语句将test表中成绩小于550并且居住在重邮宿舍的学生数据删除掉。
四、实验实习过程或算法(源程序、代码)
1.创建表test代码:
代码:
createtabletest(
NameVarchar(20)notnull,
AgeIntegernotnull,
ScoreNumeric(10,2)notnull,
AddressVarchar(60)notnull
);
2.用insert插入test代码及结果:
代码:
insertintotestvalues
('赵一','20','','重邮宿舍12-3-5'),
('钱二','19','540','南福苑5-2-9'),
('孙三','21','','学生新区21-5-15'),
('李四','22','505','重邮宿舍8-6-22'),
('周五','20','','学生新区23-4-8'),
('吴六','19','435','南福苑2-5-12')
3.再用create语句创建表test_temp代码:
代码:
createtabletest_temp(
NameVarchar(20)notnull,
AgeIntegernotnull,
ScoreNumeric(10,2)notnull,
AddressVarchar(60)notnull
);
4.用insert对test_temp插入代码及结果
代码:
insertintotest_tempvalues
('郑七','21','','重邮宿舍11-2-1'),
('张八','30','560','南福苑3-3-3'),
('王九','10','515','学生新区19-7-1')
5..用INSERTINTO...SELECT...FROM语句,将test_temp表中的数据,插入到test表代码结果:
代码:
insertintotest(Name,Age,Score,Address)
selectName,Age,Score,Address
fromtest_temp
6.用UPDATE语句将test表中年龄小于等于20的数据,将成绩更新为原来的成绩加5分代码及结果:
代码:
updatetest
setScore=Score+5
whereAge<=20
7..用UPDATE语句将test表中居住在南福苑所有学生的年龄减少1岁。
代码及结果:
代码:
updatetest
setAge=Age-1
whereAddresslike'%南福苑%'
8.用DELETE语句将test表中年龄大于等于21并且成绩大于等于500的学生数据删除掉代码及结果:
代码:
deletefromtest
whereAge>=21andScore>=500
9.用DELETE语句将test表中成绩小于550并且居住在重邮宿舍的学生数据删除掉代码及结果:
代码:
deletefromtest
whereScore<550andAddresslike'%重邮宿舍%'
运行截图:
五、实验实习结果分析和(或)源程序调试过程
需要学习的地方还是很多,写报告时中间出现了一些很低级的错误耽误了一些时间,insert,update等语句还需要进一步学习领会。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 SQL 语言 数据 操纵 DML