上机实践2 MySQL数据库及数据表操作 实验目的: 1、掌握管理数据库的图形操作界面; 2、了解数据库管理过程中相关文件的变化; 3、了解数据库管理相关的MySQL命令。 实验内容: 利用phpMyAdmin进行数据库管理。利用MySQl控制台执行MySQL命令。 实验步骤: 1、创建course数据库。 (1)在phpMyAdmin服务器管理面板的“数据库”页面,新建学生管理数据库,数据库名为course,字符集选择utf8。 (2)观察MySQL数据目录的内容有何变化。 (3)利用MySQL控制台执行命令“show create database course;”,了解用于创建数据库的MySQL命令。 2、选择数据库 在phpMyAdmin服务器管理面板的“数据库”页面,点击数据库名为course超链接,切换到学生管理数据库。phpMyAdmin主面板切换到数据库管理面板界面。(注:phpMyAdmin界面左侧导航栏能够更方便地切换数据库。) 3、创建数据库表 (1)在course数据库中新建学生信息表,表名为“Student”,表注释为“学生信息表”具体表结构如下表所示。(2)观察MySQL数据目录的内容有何变化。 4、显示表结构 在phpMyAdmin服务器管理面板的“结构”页面,点击表名所在行中的“结构”超链接,查看表结构。 5、管理表记录。 (1)在phpMyAdmin服务器管理面板的“插入”页面,根据本人的实际信息,向Student表中加入自己的信息。页面自动跳转到表管理面板的“SQL”页面。 (2)了解用于插入记录的SQL语句。 (3)浏览表中的记录。 6、备份数据库。 (1)在phpMyAdmin服务器管理面板的“导出”页面,使用“快速”的导出方式,选择“SQL”格式并执行导出。 (2)了解导出的SQL脚本文件的内容和作用。 7、删除学生信息表。 在phpMyAdmin服务器管理面板的“结构”页面,删除学生信息表,记录删除学生信息表的MySQL命令。 8、还原数据库。 (1)在phpMyAdmin服务器管理面板的“导入”页面,选择第8步导出的SQL脚本文件,执行导入。 (2)查看学生信息表的结构并浏览该表的记录。 9、删除数据库 (1)在phpMyAdmin服务器管理面板的“数据库”页面,删除学生管理数据库,记录删除学生管理数据库的MySQL命令。 (2)观察MySQL数据目录的内容有何变化。 注:将主要操作步骤及结果以图片、文字的方式填写在题目后,用“班级-姓名-上机2结果.doc”提交作业。
第1题
上机实践7 MySql数据查询操作(三) 实验目的: 1、掌握复杂数据查询操作、子查询操作; 2、掌握视图的创建及使用操作。 实验步骤: 在数椐库 course中建好的5张表( Department,student, teacher, course, choose)中输入测试数据(见文档-上机实践用表),然后完成如下实验内容。 实验内容: 1、子查询 (1)查询成绩比学生“林慧”平均分低的所有学生信息。 (2)查询“会计系”所有学生的成绩(用子查询)。 (3)查询至少教授了一门课程的教师信息。 (4)查询没有授课的教师信息。 (5)查询课程平均分高于70分的课程及该课程的最高分,输出该课程名及最高分两列数据。 2、视图操作 (1)创建视图v_view1:列出学生表(student)中1998年以前(含1998年)出生学生的学号、姓名、性别、出生日期。 (2)创建视图v_view2:以课程编号分组统计选修的人数和平均分。。 (3)在视图v_view1中查询所有男生记录。 (4)向视图v_view1中插入如下两条记录: 201610101101 张超 男 1994-11-1 武汉 201610101102 刘红 女 1995-5-10 成都 (5)删除视图v_view1中学号为“1312054909”的学生记录 (6)删除视图v_view1 备注:查询数据库数据参考发布的文档-上机实践用表,按要求写出上述查询语句,将主要操作步骤及结果以图片、文字的方式填写在题目后,用“班级-姓名-上机7结果.doc”提交作业。
第2题
上机实践5 MySql数据查询操作(一) 实验目的: 1、掌握select语句的基本语法结构 2、掌握带关键字的查询语句的使用 3、掌握多表连接查询语句的使用 实验步骤: 在数椐库 course中建好的5张表( Department,student, teacher, course, choose)中输入测试数据(见文档-上机实践用表),然后完成如下实验内容。 实验内容: 1、使用select子句查询指定字段列表。 (1)查询course表的所有内容。 (2)查询course表中所有课程的课程号、课程名、学时、学分。 (3)查询student表中所有学生的学号、姓名及出生日期,并将查询结果的列名用中文显示。(提示:取别名) 2、使用关键字查询 (1)查询student表中家庭住址的信息,要求不能重复。 (2)查询姓刘的学生信息。 (3)查询姓刘且名字为两个字的学生信息。 (4)查询学生成绩,并作详细分级: Score≥90 显示为 优秀 80≤Score<90 显示为 良好 中等 及格 不及格 3、数据表的连接 (1)查询学生所在院系的信息。 (2)查询学生的选课信息。 4、使用 where子句过滤结果集 (2)查询缺考的学生学号和课程号(选了课但无成绩的)。 (3)查询成绩在80~90分之间的选课信息。 (4)查询家庭住址不在“北京”和“上海”的学生的所有信息。 (5)查询所有姓“张”、姓“田”的教师的所有信息。 (6)查询课程名中所有带“数”的课程信息。>
第3题
上机实践6 MySql数据查询操作(二) 实验目的: 1、掌握带特殊关键字语句查询,分组查询、排序查询及查询中函数的使用; 2、掌握WHERE子句中各类查询条件的写法。 实验步骤: 在数椐库 course中建好的5张表( Department,student, teacher, course, choose)中输入测试数据(见文档-上机实践用表),然后完成如下实验内容。 实验内容: 1、使用order by子句对结果集排序 (1)查询选修了高等数学的所有学生的成绩信息并按成绩降序排列输出结果。 (2)查询course表中所有课程的课程号、课程名、学分,并按学分升序排列输出。 2、使用group by子句及统计函数对记录分组统计 (1)统计各系的学生人数(要求附上所有系的总人数)。 (2)统计每个学生已经选修多少门课程,该生的最高分、最低分、总分及平均成绩。 (3)查询平均成绩高于75分的学生及平均成绩。 (4)查询选修了两门以上(含两门)课程的学生、课程门数和平均分。 3、合并结果集 (1)查询所有人员的基本信息(编号、姓名、系别)。 (2)查询student表中从第2条记录开始的3条记录信息。 备注:查询数据库数据参考发布的文档-上机实践用表,按要求写出上述查询语句,将主要操作步骤及结果以图片、文字的方式填写在题目后,用“班级-姓名-上机6结果.doc”提交作业。
第4题
上机实践4 MySql表记录的操作 实验目的: 1、掌握 Insert语句的使用 2、掌握 update语句的使用 3、掌握 delete语句的使用 实验步骤: 在数椐库 course中建好的5张表( Department,student, teacher, course, choose)中输入测试数据,然后完成如下实验内容。 实验内容: 1、使用 Insert语句向 student表中插入一条记录。记录内容为自己的个人信息使用 select* from student;语句查看结果。 2、使用 Insert语句批量向 teacher表中插入如下表中的记录。使用 sellect* from teacher;语句查看结果。3、使用 Insert语句向 course表中指定字段插入如下信息。使用 select*from course;语句查看结果。4、使用 Insert语句向 choose表中插入两条选课记录。要求将自己所选的微积分、统计学的信息插入该表,其中,id字段自动生成下一个标号, score字段自已模拟两个成绩。使用 sellect* from choose;语句查看结果。 5、使用 update语句,将 course表中课程号为“2002”的教师编号更改为2010”。使用 select* from choose;语句查看结果。 6、删除教师表中教师编号为“2008”的教师。使用 select* from teacher;语句查看结果。 7、使用以下三条语句创建三张新的数据表。然后,使用 Insert Into语句将department记录以及 choose记录插入到新建的数据表中。 create table department1 like department; insert into department1 select*from department; create table choose1 like choose; insert into choose1 select * from choose; create table choose2 like choose; insert into choose2 select * from choose; 8、使用 replace into命令向 department1表中插入如下一条记录,查看执行后系统返回所影响行数,并查看 department1表中的内容。思考:将 replace改为insert为么是错误的? 9、使用 delete语句删除 choose1表中的所有记录; 10、向 choose1表中任意插入两条记录查看id字段的内容。 11、使用 truncate语句清空 choose1表中的所有记录。使用 show create table choose1;语句査看表结构。任意插入一条语句査看id字段的内容。 12、向 choose2表中任意插入两条记录查看id字段的内容。 备注:将创建的数据库和表以sq1文件保存以备后期使用,按要求写出命令,将主要操作步骤及结果以图片、文字的方式填写在题目后,用“班级-姓名-上机4结果.doc”提交作业。
第5题
上机实践3 MySql表结构的管理 实验目的: 1、掌握MySQL中使用MySQL语句创建和操作表的方法 2、掌握使用MySQL语句修改表结构的方法 3、掌握索引的创建 实验内容: 1、使用 CREATE TABLE命令在 course数据库中创建数据表 2、使用 ALTER TABLE修改表结构 3、使用 CREATE和 ALTER TABLE命令创建索引 实验步骤: 1、创建数据表(所有表结构参见文档——数据库Course实验用表) (1)创建 Department和 Student表,SQL命令如下: create table Department(d_no char(8)primary key, d_name char(12)not null )engine=InnoDB default charset=gbk; create table Student( S_no char(12) primary key, S_name char(4)not null, gender char(1) not null, phone text not null, birthday date, address char(20) )engine=InnoDB default charset=gbk; (2)仿照上述命令创建表 Teacher(t_no, t_name,d_no) (3)仿照上述命令创建表 Course(C_no,C_name, hours, credit, type) (4)仿照上述命令创建表 choose (id,s_no,c_no, score) 2、修改表结构 (1)使用 alter table命令向 Course表中添加两个字段term(开课学期)和 description(课程描述) (2)删除 Course表中新増的term字段 (3)使用 alter table命令为 course中的数据表添加外键约東条件 3、创建索引 在表中添加需要的索引。 注:用记事本编写创建数据库和数椐表的命令,保存为脚本文件 course.sql,然后将其导入到 phpmyadmin中。作业提交 course.sql文件。 注:将主要操作步骤及结果以图片、文字的方式填写在题目后,用“班级-姓名-上机3结果.doc”提交作业。
第6题
第7题
实验一 线性表一、实验目的 1. 了解线性表的逻辑结构特性,以及这种特性在计算机内的两种存储结构。 2. 重点是线性表的基本操作在两种存储结构上的实现;其中以链表的操作为侧重点;并进一步学习结构化的程序设计方法。 3. 掌握使用 C++面向对象的程序设计技术,设计数据结构源程序的方法。二、实验内容 1. 线性表的顺序存储表示(结构)及实现。 阅读下列程序请注意几个问题。 (1)关于线性表的顺序存储结构的本质是:在逻辑上相邻的两个数据元素ai-1, ai,在存储地址中也是相邻的,既地址连续。顺序存储结构也称“向量(vector)”。在下列类设计中,采用静态一维数组elem[]表示向量,同时用length表示线性表长度。 ElemType elem[MAXSIZE]; int length; (2)在上机实验时,需要将数据结构的类定义(包括成员函数的定义)的程序代码,写入源程序。同时用户必须自己编写一段主函数main(),在主函数中创建声明类的具体对象,通过这些对象调用类的公有函数。以便将一个典型数据结构类运用到实际问题中去。 l 源称序结构: 见本资料的第1页。 l 数据结构类定义(包括成员函数的定义)的程序代码 对于小型程序,这部分代码可以直接放入源称序之中,如上图所示。 对于复杂较大的程序,这部分代码可以生成一个头文件(例如Sqlistc.h)与源程序文件存储在同一个文件夹中。再在源程序之中写入一个语句,如下: #include “Sqlistc.h”; l 主函数 在学生没有学习可视化图形界面之前,建议在主函数中简单设计一个“菜单”(do-while循环内嵌套一个 switch结构)。随着学习的深入,应该学会熟练使用“菜单”技术,这样会明显提高编程和运行效率。一个主函数一般样式如下: int main( ) { //声明程序所需要的一般变量 int i,k; ElemType e,x; //声明和创建类对象,这个类往往是典型数据结构类 Sqlist as; System.out.print("\n ) 线性表顺序存储结构演示"; Scanner s = new Scanner(System.in); do{ //显示菜单内容 System.out.print("\n\n" ) ; System.out.print("\n\n 1. 初步建立一个线性表 " ) ; System.out.print("\n\n 2. 插入一个数据元素" ) ; System.out.print("\n\n 3. 删除一个元素,返回其值 " ) ; System.out.print("\n\n 4. 结束程序" ) ; System.out.print("\n********************************" ) ; System.out.print("\n请输入你的选择(1,2,3,4)" ) ; Int n = s.nextInt(); //接收用户的选择 //根据k值,转向对应的case 分支程序段执行 switch(n) { case 1:{ as.SetData(); as.PrintOut(); }break; case 2:{ System.out.print("\n\n 插入的位置,数据 i,e=?"); Int i = s.nextInt(); Int e = s.nextInt(); as.Insert(i,e); as.PrintOut(); }break; case 3:{ System.out.print("\n 删除第几个元i=?"); Int i = s.nextInt(); x=as.Delet(i); System.out.print(" 元素数值= "); as.PrintOut(); }break; default:break; } //switch }while(k>=1&&k<4); system.out.print("\n 再见!"); 按任意键,返回。"); _getch(); return 0; } ----------------------------------------------->
第9题
1.实验目的
①掌握文件以及缓冲文件系统、文件指针的概念。
②学会使用文件打开、关闭、读、写等文件操作函数。
③学会用缓冲文件系统对文件进行简单的操作。
2.实验内容
编写程序并上机调试运行。
①编写建立一个文件,然后将从键盘输入的以“$”字符结尾的一般文本写入该文件并关闭该文件。然后重新打开该文件,将文件的内容读出并显示出来。
②从键盘输入3个人的自然情况信息,并将这些信息保存到一文件中。然后打开该文件,读出并显示该文件的内容。
③从键盘输入3个人的自然情况信息,并将这些信息保存到一个文件中。然后打开该文件,输入一个序号(0.1.2),并根据该序号读出并显示文件中这个人的信息。
第10题
1.实验目的
①掌握按位运算的概念和方法,学会使用位运算符。
②学会通过位运算实现对某些位的操作。
2.实验内容
编写程序,上机调试并运行。
①取一个整数a从右端开始的4~7位。
程序分析:
先使a右移4位。
设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
将上面二者进行&运算。
理解并使用运算符。
②按位与&。
程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
程序源代码:
#include"stdio.h"
main()
{
int a,b;
a=077;
b=a&3;
printf("\40:The a&b(decimal)is%d\n",b);
b&=7;
printf("\40:The a&b(decimal)is%d\n",b);
}
③学习使用按位或|。
程序分析:0|0=0;0|1=1;1|0=1;1|1=1
程序源代码:
#include"stdio.h"
main()
{
int a,b;
a=077;
b=a|3;
printf("\40:The a|b(decimal)is%d\n",b);
b|=7;
printf("\40:The a|b(decimal)is%d\n",b);
}
④学习使用按位异或,^。
程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
程序源代码:
#include"stdio.h"
main()
{
int a,b;
a=077;
b=a^3;
printf("\40:The a^b(decimal)is%d\n",b);
b^=7;
printf("\40:The a^b(decimal)is%d\n",b);
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!