MySQL数据库 实验报告(一)

实验报告(一)
1、实验目的
(1)掌握系统数据类型的特点和功能
(2)掌握创建、修改表结构的方法
(3)掌握数据添加的方法
2、实验预习与准备
(1)MYSQL中创建数据库的命令
(2)表结构的创建、修改和删除
(3)MYSQL导入导出表数据的方式
(4)添加数据的SQL命令
3、实验内容及步骤
(1)利用SQL命令创建名为“jwgl”+“自己学号”的数据库
在这里插入图片描述

(2)使用命令行方式利用SQL语句在第一步创建的数据库中按下列要求创建数据表
a)创建如下表所示的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 密码

在这里插入图片描述

b)创建如下表所示的course表(课程表)
列名 数据类型(宽度) 是否允许为空 字段说明
cno char(6) not null 课程号
cname varchar(16) not null 课程名
credit tinyint not null 学分
hour smallint not null 学时
term tinyint not null 开课学期(取值范围1-8)
在这里插入图片描述

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

在这里插入图片描述

d)创建如下表所示的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 字段说明
在这里插入图片描述

e)创建如下表所示的class表(班级表)。
列名 类型 是否允许为空 字段说明
clno char(8) not null 班级编号
clname varchar(16) not null 班级名称
department varchar(12) not null 院系名称
在这里插入图片描述

f)创建如下表所示的course_class表(教师授课表)。
列名 类型 是否允许为空 字段说明
tno char(4) not null 教师编号
clno char(8) not null 班级编号
cno char(6) not null 课程编号
在这里插入图片描述

(3)利用SQL语句修改表的结构
a)修改student表中clno属性的数据类型为varchar(8),并且不允许为空
在这里插入图片描述

b)将student表中的phone属性名修改为tel,类型不变
在这里插入图片描述

c)为student表增加point属性(入学成绩),数据类型为smallint,允许为空,并将属性至于tel属性之后,credit属性之前
在这里插入图片描述

d)为student表增加email属性,数据类型为varchar(30),允许为空,并将属性至于picture属性之后,remark属性之前
在这里插入图片描述

e)为score表增加usual属性(平时成绩),数据类型为decimal(4,1),允许为空
在这里插入图片描述

f)删除student表中的pwd属性
在这里插入图片描述

(4)利用MYSQL的数据导入/导出功能将jwgl数据库中的相应表中数据导入到自己创建的数据表中
在这里插入图片描述
在这里插入图片描述

(5)向student表中插入如下两条学生记录,其中第二条记录,根据个人信息填写:
学号 0922221326 你本人学号的后十位
姓名 李杰 你本人姓名
性别 男 你本人性别
出生日期 1988-2-3 你本人出生日期
班级编号 19020301 19020301
入学成绩 754 本人入学成绩
电话 13456734522 你本人电话
电子信箱 Lijie@sina.com 你本人邮箱
在这里插入图片描述

(6)向score表中插入一条记录,学生学号为:0922221326,课程编号为:010003,其余属性取空值

在这里插入图片描述

4、实验中遇到的问题及解决方法
a)问题一:导入数据库数据时出现错误,错误提示:ERROR 1273 (HY000): Unknown collation: ‘utf8mb4_0900_ai_ci’
解决方法:百度搜索后发现是版本问题
根据百度方法进行设置后成功导入
• 把文件中的所有的utf8mb4_0900_ai_ci替换为utf8_general_ci
• 以及utf8mb4替换为utf8
b)问题二:数据库导入后出现中文乱码
解决方法:百度后是编码格式问题
在my.ini文件中找到[client]和[mysqld]字段,在下面均加上default-character-set=utf8,保存并关闭
c)问题三:不知道为什么student中首行sno出现主键冲突
解决方法:找了好多方法后,使用ignore忽略错误成功插入数据

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

  • 25
    点赞
  • 270
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是JDBC连接MySQL数据库实验报告: 实验目的: 本实验的主要目的是了解JDBC连接MySQL数据库的基本原理,掌握在Java程序中使用JDBC连接MySQL数据库的方法。 实验环境: - 操作系统:Windows 10 - 开发工具:Eclipse 2020-06 - 数据库MySQL 8.0.21 实验步骤: 1. 下载并安装MySQL数据库,并创建一个名为test的数据库。 2. 在Eclipse中创建一个Java项目,并在项目中添加MySQL的JDBC驱动包。 3. 编写Java代码,建立与MySQL数据库的连接,并实现对数据库的增删改查操作。 下面是建立与MySQL数据库的连接的Java代码: ```java import java.sql.*; public class Main { public static void main(String[] args) { Connection conn = null; try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false"; String user = "root"; String password = "password"; conn = DriverManager.getConnection(url, user, password); // 输出连接成功消息 System.out.println("连接成功!"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭连接 try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } ``` 下面是实现增删改查操作的Java代码: ```java import java.sql.*; public class Main { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false"; String user = "root"; String password = "password"; conn = DriverManager.getConnection(url, user, password); // 创建Statement对象 stmt = conn.createStatement(); // 执行SQL语句 String sql = "insert into user(name, age, sex) values('张三', 20, '男')"; stmt.executeUpdate(sql); sql = "update user set age=21 where name='张三'"; stmt.executeUpdate(sql); sql = "delete from user where name='张三'"; stmt.executeUpdate(sql); sql = "select * from user"; rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); String sex = rs.getString("sex"); System.out.println("id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } ``` 实验结果: 运行Java程序后,可以看到在控制台输出了连接成功的消息,以及数据库中的所有记录,执行顺序为插入一条记录,更新一个记录,删除一条记录,查询所有记录。 实验结论: 通过本次实验,我们可以了解到JDBC连接MySQL数据库的方法,学习了如何使用Java程序对MySQL数据库进行增删改查操作。同时,我们还学习了如何在Eclipse中添加MySQL的JDBC驱动包,使程序能够正常连接MySQL数据库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长浪破风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值