如何撰写高效的MySQL数据库实训报告方案?

avatar
作者
猴君
阅读量:0
MySQL数据库实训报告方案包括实验目的、环境搭建、数据操作、查询优化及归纳。

MySQL数据库实训报告

如何撰写高效的MySQL数据库实训报告方案?

方案

实验目的

1、掌握系统数据类型的特点和功能:通过实际操作,了解不同数据类型的使用场景及其优缺点。

2、掌握创建、修改表结构的方法:能够熟练使用SQL语句进行表的创建、修改及删除操作。

3、掌握数据添加的方法:学会使用SQL命令向表中插入数据,并能处理常见的数据操作问题。

实验预习与准备

1、MySQL中创建数据库的命令:了解并熟悉如何使用CREATE DATABASE命令来创建新的数据库。

2、表结构的创建、修改和删除:掌握CREATE TABLE、ALTER TABLE和DROP TABLE等命令的使用。

3、MySQL导入导出表数据的方式:学习使用MySQL的数据导入/导出工具,如mysqldump和LOAD DATA INFILE。

4、添加数据的SQL命令:掌握INSERT INTO命令,用于向表中插入新记录。

1、数据库的创建:使用SQL命令创建一个名为“jwgl”+“自己学号”的数据库,如果学号是123456,则数据库命名为jwgl123456。

2、数据表的创建

student表(学生表)

列名 类型 是否允许为空 字段说明
sno char(10) not null 学号
sname char(10) not null 姓名
sex enum('男', '女') not null 性别
birth date not null 出生日期
source varchar(16) null 生源地
clno char(10) null 班级号
phone char(11) null 电话
credit smallint null 学分
picture varchar(30) null 照片地址
remark text null 备注
pwd char(6) not null 密码

course表(课程表)

列名 数据类型(宽度) 是否允许为空 字段说明
cno char(6) not null 课程号
cname varchar(16) not null 课程名
credit tinyint not null 学分
hour smallint not null 学时
term tinyint not null 开课学期

score表(成绩表)

列名 类型 是否允许为空 字段说明
sno char(10) not null 学生编号
cno char(6) not null 课程编号
score decimal(4,1) null 期末成绩

teacher表(教师表)

列名 数据类型(宽度) 是否允许为空 字段说明
tno char(4) not null 教师号
tname char(10) not null 姓名
pwd char(6) not null 密码
sex enum('男', '女') not null 性别
tel char(11) null 电话
department varchar(10) not null 院系名称
type char(1) not null 身份(0:管理员;1:教师)
remark text null 备注

class表(班级表)

如何撰写高效的MySQL数据库实训报告方案?

列名 类型 是否允许为空 字段说明
clno char(8) not null 班级编号
clname varchar(16) not null 班级名称
department varchar(12) not null 院系名称

course_class表(教师授课表)

列名 数据类型(宽度) 是否允许为空 字段说明
tno char(4) not null 教师编号
clno char(8) not null 班级编号
cno char(6) not null 课程编号

3、修改表结构:使用ALTER TABLE命令对表结构进行修改。

修改student表中clno属性的数据类型为varchar(8),并且不允许为空ALTER TABLE student MODIFY clno varchar(8) NOT NULL;

将student表中的phone属性名修改为tel,类型不变ALTER TABLE student CHANGE phone tel char(11);

为student表增加point属性(入学成绩),数据类型为smallint,允许为空,并将属性至于tel属性之后,credit属性之前ALTER TABLE student ADD point smallint NULL AFTER tel;

为student表增加email属性,数据类型为varchar(30),允许为空,并将属性至于picture属性之后,remark属性之前ALTER TABLE student ADD email varchar(30) NULL AFTER picture;

为score表增加usual属性(平时成绩),数据类型为decimal(4,1),允许为空ALTER TABLE score ADD usual DECIMAL(4,1) NULL;

删除student表中的pwd属性ALTER TABLE student DROP COLUMN pwd;

4、数据导入/导出:利用MySQL的数据导入/导出功能将jwgl数据库中的相应表中数据导入到自己创建的数据表中,使用mysqldump工具导出数据,再使用LOAD DATA INFILE导入数据。

5、插入数据:向student表和score表中插入示例数据。

向student表中插入如下两条学生记录,其中第二条记录根据个人信息填写INSERT INTO student (sno, sname, sex, birth, clno, point, tel, email) VALUES ('0922221326', '李杰', '男', '19880203', '19020301', '754', '13456734522', 'Lijie@sina.com');

向score表中插入一条记录,学生学号为:0922221326,课程编号为:010003,其余属性取空值INSERT INTO score (sno, cno) VALUES ('0922221326', '010003');

实验中遇到的问题及解决方法

1、问题一:导入数据库数据时出现错误,错误提示:ERROR 1273 (HY000): Unknown collation: ‘utf8mb4_0900_ai_ci’

解决方法:百度搜索后发现是版本问题,根据百度方法进行设置后成功导入,把文件中的所有的utf8mb4_0900_ai_ci替换为utf8_general_ci,以及utf8mb4替换为utf8。

2、问题二:数据库导入后出现中文乱码

如何撰写高效的MySQL数据库实训报告方案?

解决方法:百度后是编码格式问题,在my.ini文件中找到[client]和[mysqld]字段,在下面均加上defaultcharacterset=utf8,保存并关闭。

3、问题三:不知道为什么student中首行sno出现主键冲突

解决方法:找了好多方法后,使用ignore忽略错误成功插入数据,具体命令为在INSERT语句后加上IGNORE关键字。

在MySQL数据库实训的过程中,我遇到了一些小问题,知识点记得不够牢固,我会翻看课本教材,去寻找答案;又或者是在百度上寻找相应的博客学习、参考;和同学讨论也是解决问题的方法之一,不断加深我对于MySQL数据库这门课程的理解,更加深入的了解这门课程,在以后对于学习计算机编程所具有的重要意义,MySQL数据库的应用范围非常广泛,学好这门课程就显得尤为重要,这次的MySQL数据库实训课让我受益匪浅,让我懂得了自主学习,和向他人学习的好处,加深了对于MySQL数据库的应用,能够更加熟练的掌握MySQL数据库的基本语法和使用方法,感谢老师对本次实训的悉心指导,这些便是我对本次实训的所有心得。

FAQs(常见问题解答)

问题1:如何在MySQL中创建一个新的数据库?

答:在MySQL中创建一个新的数据库可以使用CREATE DATABASE命令,要创建一个名为“testdb”的数据库,可以执行以下SQL命令:

 CREATE DATABASE testdb;

执行成功后,可以通过SHOW DATABASES命令查看所有已创建的数据库列表,确认数据库是否创建成功。

问题2:如何在MySQL中修改表结构?

答:在MySQL中修改表结构通常使用ALTER TABLE命令,要将student表中的phone属性名修改为tel,类型不变,可以使用以下命令:

 ALTER TABLE student CHANGE phone tel char(11);

还可以使用ALTER TABLE命令来添加或删除列、修改数据类型等,为student表增加一个email列:

 ALTER TABLE student ADD email varchar(30) NULL;


    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!