1、使用须知系M班级学号姓名地点系别软件的班级软件的11150004姓名疟地点机房红色替换(ctrl + H)为自己的就OK 了记得修改完删除此页!一大波写好的实验来袭,请注意。MySQL数据库应用实验报告姓名张三11150004班级软件的MySQL数据库技术实验报告系别班级学号姓名地点系别软件的班级软件的11150004姓名张三地点机房课程名称MySQL数据库技术实验名称实验1 MySQL的使用实 验 过 程MySQL数据库技术实验报告系别班级学号姓名地点系别软件的班级软件的11150004姓名虹地点机房课程名称MySQL数据库技术实验名称实验3表数据插入、修改和删除实 验 过 程目的和实验要求
2、:(1) 学会在界面管理工具中对数据库表进展插入、修改和删除数据操作(2) 学会用SQL语句对数据库进展插入、修改和删除数据操作了解数据更新操作时要注意数据完整性(4) 了解SQL语句对表数据操作的灵活控制功能实验内容:1. 实验题目分别使用MySQL Administator和SQL语句,向在实验2建立的数据库YGGL的表Employees. Departments 和Salary中插入多行数据记录,然后修改和删除一些记录。使用SQL进展有效的修改和删除。2. 实验准备首先,了解对表数据的插入、删除、修改都属于表数据的更新操作。对表数据的操作可以在MySQL Administator 中进展
3、,也可以由SQL语句实现。其次,要掌握S QL中用于对表数据进展插入、修改、和删除的命令分别是INSERT. UPDATE和DELETE。要特别注意在执行插入、删除和修改等数据更新操作时,必须保证数据完整性。此外,还要了解使用SQL语言在对表数据进展插入、修改和删除时,比在MySQL Administator中操作表数据 更为灵活,功能更强大。在实验2中,用于实验的YGGL数据库中的3个表已经建立,现在要将各表的样本数据添加到表中。样本数据如 表实验3.1、表实验3.2和表实验3.3所示。表实验3.1 Employees表数据样本编号姓名学历出生日期性别工作时间醐部门号000001王林大专19
4、66-01-2318中山路32-1-508833556682010008伍容华本科1976-03-2813北京东路100-28332113211020010王向荣硕士1982-12-0912四牌路10-0-108837923611020018李丽大专1960-07-3006中山东路102-2834133011102201刘明本科1972-10-1813虎踞路100-2836066085102208朱俊硕士1965-09-2812牌楼巷5-3-106847088175108991钟敏硕士1979-08-1004中山路10-3-105833467223111006张石兵本科1974-10-0111
5、解放路34-1-203845634185210678林涛大专1977-04-0212中山北路24-35834673363302566李玉敏本科1968-09-2013热河路209-3587659914308759叶凡本科1978-11-1812北京西路3-7-52833089014504209陈林琳大专1969-09-0305汉中路120-4-12844681584表实验3.2 Departments表数据样本部门号部门名称备注部门号部门名称葡注1财务部null4研发部null2人力资源部null5市场部null3经理办公室null表实验3.3 Salary表数据样本编号收入支出编号收入支出0
6、000012100.8123.091089913259.98281.520100081582.6288.030200102860.0298.01022012569.88185.650200182347.68180.01110061987.0179.583087592531.98199.085042092066.15108.02106782240.0121.03025662980.7210.21022081980.0100.0实验步骤:1.使用SQL语句插入表数据(1)向表 Employees 中插入记录:000001王林丁大专71966-01-23,1,8中山路 32-1-508,833556
7、6872)。at abase changed mysqlNSERlMNTEinployeeALUESe00000W1963TM8T 中山路32-1-508* , 83355668 ,2,;Query OK, 1 row affected REPLACE INTO Departments UALUES,1,* 广告部,负责推广产品; liiery OK, 2 rows affected mysql SELECT*- FROM Departments; Department ID ; DepartmentName Note12 3 4s部室 ? pp? WHERE EmployeeID=,0111
8、12,;Query OK“ 0 rows affected gows matched: 0 Changed: 0 learnings: 0(2 )将所有职工收入增加100。mysql UPDATE Salary SET InCome=InCome+100; Query OK, 12 rows affected Rows matched: 12 Changed: 12 Warnings: 0(3 )使用SQL命令删除Employees中编号为011112的职工信息。ysql DELETE FROM Employees WHERE EnployeeID=,011112,; uery OK, 0 r
9、ows affected (4 )删除所有收入大于2500的员工信息。nysql USE YGGLDatabase changednysql DELETE FROM Employees- WHERE Employee ID IN 2500; Query 0K“ 5 rows affected USE YGGLDatabase changedmysql TRUNCATE TABLE Salaryl;Query OK, 0 rows affected 实验小结:注意分号为英文字符下的;在要求查询结果的属性列名用中文表示时,AS可加可不加;模糊查询时,还可用正那么表达式;MySQL数据库技术实验报告
10、系别班级学号姓名地点系别软件的班级软件的11150004姓名虹地点机房课程名称MySQL数据库技术实验名称实验4数据库的查询和视图实 验 过 程目的要求:(1) 掌握SELECT语句的根本用法(2) 掌握子查询的表示(3) 掌握连接查询的表示(4) 掌握SELECT语句的GEOUP BY子句的作用和使用方法5掌握SELECT语句的ORDER BY子句的作用和使用方法(6) 熟悉视图的概念和作用(7) 掌握视图的创立方法(8) 掌握如何查询和修改视图实验准备:(1) 了解SELECT语句的根本语法格式(2) 了解SELECT语句执行方法(3) 了解子查询的表示方法(4) 了解查询的表示方法(5)
11、 了解SELECT语句的GROUP BY子句的作用和使用方法(6) 了解SELECT语句的ORDER BY子句的作用(7) 了解SELECT语句的LIMIT子句的作用8了解视图的概念(9) 了解创立视图的方法10了解对视图的操作实验内容:1.SELECT语句的根本使用 用SELECT语句查询Departmrnts表的所有记录。mysql USE VGGL Database changed nysql SELECT *- FROM Departments;! Department ID * DepartmentName ! Note ;12 3 4 512 3 4 5部室?部资用部部务力理畜财人
12、经研币;NULL ! ! NULL ; ;NULL ! ! NULL ! ! NULL !5 rows in set (2 )用SELECT语句查询Salary表的所有记录。nysql USE VGGL Database changed nysql SELECT *- FROM Salary;4卜i EmployeeID !.4.J! InCome ! OnCone !;0000011:2100.8 ; 123.09 ;:010008:! 1582.62 : 88.03 !;020010112860 :198 ;! 02001811 2347.68 !180 !;102201!:2569.88
13、 ; 185.65 !;1022081!1980 ;100 ;1089911:3259.98 : 281.52 ;1110061! 1987.01 ; 79.58 ;210678112240 ;121 ;:3025661! 2980.7 : 210.2 !;30875911 2531.98 ; 199.08 ;50420911 2066.15 !108 !4卜12 rows in set (3 )用SELECT语句查询Departments表的部门号和部门名称列。mysql SELECT De part me n 11D,De part ne n t Name - FROM Departmen
14、ts;! Department ID * DepartmentName ;部室?目资力Elot 务力理畜 财人经研币12 3 4 55 rows in set (4 )查询Employees表中部门号和性别,要求使用DISTINCT消除重复行。mysql SELECT DISTINCT Department ID,Sex - FROM Employees;! Department ID ; Sex ;:2!1:1:1:1!0:5:1:3:0:3!1:4:1!4:08 rows in set (5)查询月收入高于2000的员工号码。nysql SELECT EmployeeID - FROM S
15、alary - UHERE InCome2000;* EmployeelD ! 000001 ;020010 ;020018 ;102201 ;108991 ;210678 ;302566 ! 308759 ;504209P rows in set (6 )查询所有1970以后出生的员工的姓名和住址。nysql SELECT Name,Address - FROM Employees - WHERE Birthday=,1970-0-0,;! Name * Address5 5一-7-2 3 &s 1 1 1 3 SS 东西 京牌踞山苗京 北四虎中董北华荣 兵 容向明敏石涛凡 伍王刘钟rows
16、 in set (7)查询所有财务部门的员工号码和姓名。ysql SELECT Employee ID,Name- FROM Employees- WHERE Department ID=SELECT Department ID-FROM Departments-UH ERE DepartmentName=财务部;Employee ID ;Name*+:010008!伍容华;020010;王面荣;!020018!李丽;3 rows in set mysql UPDATE Salary SET InCone = 1nCone-100;Query OK, 12 rows affected Rows
17、 matched: 12 Changed: 12 Warnings: 0(8 )查询Empoyees表中男员工的姓名和出生日期,要求个列标题用中文表示。叫sql SELECT Name AS 姓名,Birthday AS 出生日期 - FROM Employees- WHERE Sex=,l,;!姓名;出生日期华荣 兵琅林容向黑石涛玉凡王伍王刘李叶华荣 兵琅林容向黑石涛玉凡王伍王刘李叶;1966-01-23 ! 1976-03-28;1982-12-09;1972-10-18;1965-09-28;1974-10-01! 1977-04-02;1968-09-20:1978-11-180000
18、0000000000000000000000000000000000 ; 00 !00 ;00 !00 !00 ;00 !00 !00 !|9 rows in set 0.00 sec(9 )查询Employees员工的姓名住址和收入水平,2000以下的显示为低收入,20003000的显示为中等收入,3000以上的显示为高收入。目的要求:(1) 掌握MySQL效劳器安装方法掌握MySQL Administrator的根本使用方法3根本了解数据库及其对象实验准备:(1) 了解MySQL安装的软硬件要求了解MYSQL支持的身份验证模式3了解MySQL各组件的主要功能根本了解数据库、表、数据库对象实
19、验内容:1.安装MySQL效劳器和MySQL界面工具安装MySQL界面工具。插入安装好的界面工具截图即可MySQL Command Line Client2利用MySQL客户端访问数据库(1)翻开开场,程序,MySQL , MySQL server 5.1 , MySQL command line client ,进入 MySQL 客户端界面,输 入管理员密码登录。 C:Program FilesMySQLMySQL Server 5.1binmysql.exeEnter password: *We leone to the MySQL monitoi. Commands end with ;
20、 or g.Vour MySQL connection id is 3Server uersion: S .1.32-community blySQL Community Seruer Type help; or For help. Type c to clear the bufFei*.(2 )在客户端输入“help”或h,查看MySQL帮助菜单,仔细阅读帮助菜单的内容。iysql-SELECT Name,Adress,CASE UHEN InCome3000 THEN 高收入END AS收入水平FROM Employees,SalaryWHERE Employees-Employee ID
21、=Salary.Employee ID; 1054 : Unknown column * Adress* in FieldSELECT Name,Address,CASE WHEN InCome3000 THEN 高收入 END AS收入水平FROM Employees“SalaryWHERE Employees.Employee ID=Salary.EmployeeID;冲等收入,list,呻等收入,;Name Address七丘X.、民林 林诺F鬟敏FTJ凡脚 王伍王李刘朱钟假设李膺8 80 2 0 25 - 1 - -0-210 0 0 -1-1A& 0K&2 -X 1 D-y - I山
22、京牌山帝迥笛中北四中塞执北汉2 25 5 13 - -374-2 9 3 0 0 28 2 s 1入入入入 入入入 中低l-B,低。屉口口口低(10 )计算Salary表中员工月收入的平均数。mysql USE YGGLDatabase changed叫sql SELECT AUG AS 平均收入 - FROM Salary;平均收入;.;2375.5666402181 ;1 row in set (11)获得Employees表中的最大的员工号码。叫sql SELECT MAX FROM Employees;MAX ! 504209 1 row in set (12 )计算Salary表中所
23、有员工的总支出。(13 )查询财务部官员的最高和最彳氐实际收入。mysql SELECT MAX AS 最高实际收入,MIN AS 最低实 际板入- FROM Employees“Departments,Salary- WHERE Employees.EmployeeID=Sala”y.EmployeeID- AND Emplovees.Department ID=Departnents.Department ID- AND DepartmentNamen财务部;+;最高实际收入;最低实际收入;+;2662 ; 1494.5899963379 ;1 row in set E.08 sec(14
24、 )找出所有其地址含有中山的雇员的号码及部门号。nysql SELECT Employee ID,Department I - FROM Employees- WHERE Address LIKE M中山泌;|4 rows in set E.00 secEmployeelDf 1 IDepartment ID000001寸_112020018111108991113210678113f-(15 )查找员工号码中倒数第二个数字为0的姓名、地址和学历。pysql SELECT NameAddress,Educat ion FROM EmployeesUH ERE EmployeelD LIKE *
25、0;丘锹i Name ; Address; Education :JJJ&32-1-508 ; 亍、本路100-2 !100-2;5-3-106!34-1-203 ;(16 )找出所有部门1或2工作的雇员的号码。(16 )找出所有部门1或2工作的雇员的号码。120-4-12 ;ysql SELECT EnployeelD- FROM Employees,Departments- WHERE Enplosrees. Department I D=Departnents . Department ID- AND Departments.DepartmentID IN;Employee ID ; ;
26、000001 ! 010008 ! 020010 ! 020018rows in set 子查询的使用 用子查询的方法查找所有收入在2500以下的雇员的情况。nysql SELECT *- FROM Employees- WHERE EmployeeID IN-FROM Salary-WHEREInCone;Employee ID ; Name : Education : Birthday; Sex : Work?ear ; Address; PhoneNunber ; Department ID ! 000001 ?32-1-508 ! 010008 东路100-2 ! 020018 东路1
27、02-2 :102208 巷5-3-106 ! 111006 路34-1-203 :210678 北路24-35 ! 504209 席120-4-12! 000001 ?32-1-508 ! 010008 东路100-2 ! 020018 东路102-2 :102208 巷5-3-106 ! 111006 路34-1-203 :210678 北路24-35 ! 504209 席120-4-12I 83 338华320117兵18专2科1专大;本;大士;硕;本;大! 1966-01-23 00:00 !;1976-03-28 00:00 ! 1960-07-30 00:00 ! 1965-09-
28、28 00:00 ! 1974-10-01 00:00 ;! 1977-04-02 00:00 !;1969-09-03 00:0000;1I18!中山00;1113;北京00! 0116;中山00! 1112:牌楼00:1111:解放00! 1112!中山00! 0115:汉中7 rows in set (2) 用子查询的方法查找研发部比财务部所有雇员收入都高的雇员的姓名。nysql SELECT Name- FROM Employees,Salary,Departments- WHERE InConeALL-(SELECT InCone-FROM Employees,Salary,Depa
29、rtments-WHERE Employees .Employee I D=Salai*y. Employee ID- AND Enploees.DepartnentID=Departnents.Department ID- AND De part me nt Name =财务部- AND Employees.EmployeeID=Salary.Employee ID- AND Employees.Department ID=Departnents.Department ID- AND DepartmentNane = , 发部;+;Name ;军至点;row in set (3) 用子查询的
30、方法查找年龄比研发部所有雇员年龄都大的雇员的姓名。 SELECT Name FROM Employees WHERE Department ID IN SELECT Department ID FROM Departments WHERE DepartmentName,=研发部 AND Birthday =ALL FROM Employees WHERE Department ID IN FROM Departments WHERE Depart men t Name =研发部; asNa一王秦 asNa一王秦nerows in set 2. 连接查询的使用(1) 查询每个雇员的情况及其工作部
31、门的情况。ysql SELECT EmployeesDepartments.*- FROM Employees,Departments,Salary- WHERE Employees .Employee I D=Salai*y. Employee ID- AND Employees.Department ID=Departnents.Department ID;(2)使用内连接的方法查找不在财务部工作的所有员工信息。1 111.Br;010008!伍容华;本科! 1976-03-2800:00:00 ! 1i3 ;北京东路100-2! 833211321! 1! 1;财务部;NULL :! 0
32、20010!王向宋;硕士i 1982-12-0900:00:00 ; 1;2 !四牌1W8;83792361; 1;1;财务部;NULL ;:020018;李丽;大专! 1960-07-3000:00:00 ; 0;6 !中山东路102-2;83413301; 1! 1;财务部;NULL ! 000001;王林;大专! 1966-01-2300:00:00 ; 1:8 ;中山踪32-1-508;83355668; 2;2!人力资源部;NULL ! 108991!钟敏;硕士! 1979-08-1000:00:00 ! 0!4 !中山路10-3-105! 83346722; 3;3;经理办公室;N
33、ULL ;! 210678林涛;大专! 1977-04-0200:00:00 : 1:2 !中山北路24 - 35;83467336; 3;3;经理办公室;NULL ;! 302566;李玉琅;本科;1968-09-2000:00:00 ! 1;3 :热河路289-3;58765991; 4! 4;研发部;NULL ;308759;叶凡;本科! 1978-11-1800:00:00 ! 1;2 ;北京西路3-7-52;83308901; 4;4;研发部;NULL ;! 504209陈琳琳;大专;1969-09-0300:00:00 i 0!5 ;汉中JI120-4-12;84468158; 4
34、;4;研发部;NULL ;102201;刘明;本科! 1972-10-1800:00:00 : 1J3 :虎踞路100-2;83606608; 5;5;市场部:NULL ;! 102208朱俊;硕士;1965-09-2800:00:00 : 1;2 ;牌楼巷5-3-106;84708817; 5;5;市场部;NULL ;! 111006;张石兵;本科! 1974-10-0100:00:00 ! 1!1 ;解放路 34T -203;84563418! 5! 5:市场部:NULL :fiysql SELECT Employees.*- FROM Departments JOIN Employees
35、 ON Departments.Department ID=Enployees.Dep artnentID- WHERE DepartmentName?=财务部;! EmployeeID * Name ; Education i Birthdayi Sex ; WorkVear ! Address! PhoneNumber Department ID ;000001 路 32T-508! 108991 路10-3-105 ! 210678 北路24-35 ! 302566 路209-3 ! 308759 西路3-7-52 ;504209 路120-4-12 ;102201 路1晌-2 ! 10
36、2208 巷 S-3T06! 111006 路34-1-203;000001 路 32T-508! 108991 路10-3-105 ! 210678 北路24-35 ! 302566 路209-3 ! 308759 西路3-7-52 ;504209 路120-4-12 ;102201 路1晌-2 ! 102208 巷 S-3T06! 111006 路34-1-2038 2 6 民 1 1林 8 8 7 三、8 6 2 3 3 9 0 W 5 0 1 1 林56敏67涛73玉59凡89琳81明66俊88石34 E 5中4木6 6十0东、6听0 fc- 0长6 m3丰3本437Q 3隋4文6命7
37、耳5 333834344 8 II 8 II 5 II 8 II 8II 88II5专2士 3专3科4科4专4科5士 5科5 人;硕;大;本;本;大;本;硕;本;1966-01-23 00;1979-08-10 00! 1977-04-02 00:1968-09-20 00! 1978-11-18;1969-09-03;1972-10-18;1965-09-28;1974-10-01000000000000:00:1:800:00:0:400:00:1:200:00:1:300:00:1:200:00:0:500:00:1:300:00:1:200:00:1!1中山中山中山热河北京汉中虎踞牌楼
38、解放9 rows in set (3)使用外连接方法查找所有员工的月收入。Inysql SELECT InCone- FROM Employees LEFT OUTER JOIN Salary ON Employees.EmployeeID=Salary.Empl oyeelD; ! InCoine;2100.8 ;! 1582.62 :2860:! 2347.68 ! 2569.88 ! !1980;3259.98 ;! 1987.01 ! !2240! 2980.7 ; ;2531.98 ;! 2066.15 !12 rows in set (4 )查询研发部在1966年以前出生的雇员姓名
39、及其薪水详情。mysql USE YGGLDatabase changednysql SELECT Name,InCome,OutCome- FROM Enployees,Salary,Departnents-WHEREEmployees.EmployeeID=Salary.Employee ID-ANDEmployees-DepartmentID=Departnents.DepartmentID-ANDDepartmentName=研发部-ANDBirthday ,1966-0-0,;Empty set 4.GROUP BY. ORDER BY 和 LIMIT 子句的使用(1)按部门列出在该部门工作的员工的人数。mysql SELECT Department ID, COUNTDepartment IDAS 人敬 - FROM Departments- GROUP BY Department ID;+;Department ID ; 人数 *1 !12 !13 ;14 ;15 ;1 5 rows in set (2 )按员工的学历分组,列出本科、大专和硕士的人数。i SELECT Educat ion,COUNTEd