数据库实验一 创建数据库

news2024/12/28 19:01:35

一.实验目的

1.学会数据表的创建;

2.加深对表间关系的理解;

3.理解数据库中数据的简单查询方法和应用。

二. 实验内容

1.题目要求

给定一个实际问题,实际应用问题的模式设计中至少要包括3个基本表。应用问题是供应商给工程供应零件(课本P70)。

(1)创建一个数据库,数据库名称命名为自己的学号。

(2)在已建立的数据库中使用SQL语句和可视化环境分别建立应用中的四个表,包括属性名、数据类型,正确创建表的主键、外键。

(3)向工程表J中增加适当规模的记录(至少1000条,上万条最好,项目名可以用“项目+序号”简单命名,每个项目名唯一);然后基于项目名属性列建唯一索引,并编写查询语句验证所建索引是否有效。(提示:查询语句中的条件要用到项目名属性;在建索引前先执行该语句,建索引后再执行,然后比较两次执行的时间)。

(4)将数据库转储到D盘根目录下,命名为自己的学号。点击右键选择“转储SQL文件”,选择“结构和数据”。

(5)完成数据库的备份和还原。首先为建好的数据库新建备份,然后在将备份拷走,和同学合作在另一台电脑上还原备份,还原后查看原有数据库中的信息是否存在。

2.实验结果

代码:

SET  sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

CREATE TABLE P
(
  PNO char(20) PRIMARY KEY,
  PNAME char(20),
  COLOR char(20),
  WEIGHT int
);

CREATE TABLE J
(
  JNO char(20) PRIMARY KEY,
	JNAME char(20),
	CITY char(20)
);

CREATE TABLE S
(
  SNO char(20) PRIMARY KEY,
  SNAME char(20) UNIQUE,
  SSTATUS char(20),
  CITY char(20)
);

CREATE TABLE SPJ
(
  SNO char(20),
  PNO char(20),
  JNO char(20),
  QTY int,
  PRIMARY KEY(SNO,PNO,JNO),
	FOREIGN KEY(SNO)REFERENCES S(SNO),
	FOREIGN KEY(PNO)REFERENCES P(PNO),
	FOREIGN KEY(JNO)REFERENCES J(JNO)
);

DELIMITER $$
CREATE PROCEDURE proc_insert_J(in args int)
BEGIN
	DECLARE i INT DEFAULT 0;
-- 	开启事务,不开的话100w条按天算
	start transaction;
	REPEAT
		set i=i+1;
		insert into J values(concat('J',i),CONCAT('项目',i),'济南');	
	  UNTIL i >= args END REPEAT;
	commit;
END
$$
DELIMITER ;

call proc_insert_J(100000);

CREATE UNIQUE INDEX J_JNAME ON J(JNAME);

SELECT * FROM J WHERE JNAME='项目99999' ;

实验截图

由上图可见建立索引前的查找时间为0.023s。

由上图可见建立索引后查询时间有所缩短,查询时间为0.007s。

转储SQL文件。

备份还原后查看原有数据库中的信息仍然存在。

注意:在建表的过程中会出现[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by的错误,使用SET  sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));语句消除。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2044370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

被嫌弃的35岁程序员,竟找到了职业的新出路:PMP项目管理

35岁,本应是事业发展的高峰期。更多听到的却是35岁职场天花板,特别是IT从业者,35岁就好像是一道迈不过的坎:多年的工作经验,在35岁的生理年龄面前,一文不值。 IT从业者若想安然度过“35岁危机”&#xff0…

【RISC-V设计-14】- RISC-V处理器设计K0A之打印输出

【RISC-V设计-14】- RISC-V处理器设计K0A之打印输出 文章目录 【RISC-V设计-14】- RISC-V处理器设计K0A之打印输出1.简介2.验证用例3.软件代码4.链接脚本5.编译脚本6.仿真结果6.1 复位结束6.2 运行成功6.3 终端打印 7.总结 1.简介 本文将详细阐述如何利用 printf 来打印字符串…

做自媒体博主如何使用外网视频素材!

想成为视频博主却不知道外网视频怎么下载?看这里! 在这个信息爆炸的时代,做一名视频博主无疑是展现自我、分享创意的绝佳方式。但当我们想要获取更多灵感,从外网的精彩视频中学习时,却常常被下载的问题难住。 其实&…

【启明智显技术分享】工业级HMI芯片Model3A开发过程中问题记录笔记

一、Model3A芯片介绍 Model3A是启明智显针对工业、行业以及车载产品市场推出的一款高性能、低成本的工业级HMI(Human-Machine Interface,人机界面)芯片。该芯片主要应用于工业自动化、智能终端HMI、车载仪表盘、两轮车彩屏仪表、串口屏、智能…

无人机航拍与ArcGIS融合实战:从地表观测到空间数据可视化的全方位指南!无人机图像拼接数据处理与分析、可视化与制图

目录 第一章 无人机航拍基本流程、航线规划与飞行实践 第二章 无人机图像拼接软件的学习与操作实践 第三章 无人机图像拼接典型案例详解 第四章 无人机图像拼接数据在GIS中的处理与分析 第五章 无人机图像拼接数据在GIS中的可视化与制图 第六章 综合案例:无人机航拍植被动…

Docker 部署 XXL-JOB

Docker 部署 XXL-JOB 目录 引言环境准备创建 MySQL 用户并授予权限使用 Docker 部署 XXL-JOB配置 XXL-JOB验证部署总结 1. 引言 XXL-JOB 是一个开源的分布式任务调度平台,旨在简化定时任务的管理和调度操作。其强大的功能和灵活性,使其在互联网公司和…

SSH 隧道方式连接 MySQL 服务器

SSH 隧道方式连接 MySQL 服务器 1 安装 MySQL 客户端工具1.1 Navicat1.2 MySQL Workbench1.2.1 查看本机系统类型1.2.2 安装 Visual C 20191.2.3 安装 MySQL Workbench 2 SSH 隧道方式连接数据库2.1 Navicat2.1.1 SSH 连服务器2.1.2 本地连数据库 2.2 MySQL Workbench 本文介绍…

云动态摘要 2024-08-12

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 全球加速 GA - 新增“巴西(圣保罗)”、“沙特(利雅得)”接入点 华为云 2024-08-12 全球加速服务新增开通“巴西(圣保罗)”、“沙特&a…

BI奇点来临,AIChat打通数据消费“最后一公里”

“把数据用起来和用好”,这是企业数智化转型升级中的一大核心命题。但现实情况中,大部分企业在业务应用和数据消费中始终难以做到得心应手。 直到大模型的崛起,生成式AI技术展现出强大能力,为彻底打通数据消费“最后一公里”带来…

NUC 14 Pro+:灵感加速器,创意无界之旅

喜欢创作的友友们皆懂,灵感如流星,可遇不可求,当它闪烁在你的脑海中,需要即刻行动,将其化为现实。而NUC 14 Pro就将在这时,给予你独特的支持。 灵感火花,瞬间点燃 触摸NUC 14 Pro的轻薄机身&am…

新手常见错误:java.lang.NumberFormatException: For input string: “xxxx“

目录 ​编辑 故事背景 文言一心解答: 思考: 文心一言总结: 报错总结: 解决方案: 结语: 故事背景 写代码的时候遇到的报错 文言一心解答: 这个错误 java.lang.NumberFormatException:…

【后端记录】修复MySql的错误修改的数据记录【binlog修复】

前言 今天入门后端的时候,不小心改了非预期的数据,因为还没学到事务,所以恢复数据还比较麻烦,站在巨人的肩膀上还是解决了,原文连接在下面 https://blog.csdn.net/qq_42874315/article/details/140480570 解决办法 原…

Python光电光对光神经网络非相干光图像低维映射模拟

🎯要点 🎯光学神经网络非相干光图像处理 | 🎯光电光对光处理多层光学神经网络 | 🎯光图像传感器构建两层神经网络 | 🎯非相干光输入图像映射到低维空间 | 🎯多层非线性对比浅层线性光神经网络 | &#x1f…

国标POE电源芯片52V转12V 1.5A用AH7691D

​在深入探讨国标POE(Power Over Ethernet)电源芯片AH7691D如何将52V直流电压高效转换为12V 1.5A的稳定输出时,不得不提及其卓越的能效比与可靠性设计。AH7691D作为一款专为POE供电系统设计的降压转换芯片,不仅拥有高精度的电压调…

数据结构入门——03链表

1. 链表的结构 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的。 结点的data域存放数据元素ai,而next域是一个指针,指向ai的直接后继ai1所在的结点。 1.1链表的分类 实际中要实…

利用matlab生成一注特别的大乐透机选程序

玩法说明: 代码: front randi([1,35],5,5) %前区随机生成(1-35),生成5行5列rear randi([1,12],1,2)%后区随机生成(1-12),生成1行2列front_r []%用来保存前区号码结果 rear_r rear%用来保存后区号码结果for i 1:size(front, 1) % 遍历每一行 for j 1:length(front(i,:)) …

OpenCV图像处理——直线拟合并找出拟合直线的起点与端点

引言 对轮廓进行分析,除了可以对轮廓进行椭圆或者圆的拟合之外,还可以对轮廓点集进行直线拟合。在 OpenCV 中,直线拟合通常是通过 cv::fitLine 函数实现的,该函数采用最小二乘法对一组 2D 或 3D 点进行直线拟合。对于 2D 点集&am…

【数据结构】详细剖析链表,带你实现单链表,双向链表,附链表编程练习题

目录 一. 链表 1. 链表的概念及结构 2. 单链表的实现 2.1 单链表节点结构 2.2 动态申请一个节点 2.3 单链表打印 2.4 单链表尾插 2.5 单链表头插 2.6 单链表尾删 2.7 单链表头删 2.8 单链表查找 2.9 单链表在pos后一位插入x 2.10 单链表删除pos后一位的值 2.11 …

《软件性能测试分析与调优实践之路》(第2版) 读书笔记(一)总体介绍(上)-真正从性能分析与调优来看性能测试

《软件性能测试分析与调优实践之路》(第2版) 是清华大学出版社出版的一本图书,作者为张永清,全书共分为9章,如下图所示 图书介绍:《软件性能测试分析与调优实践之路》(第2版) 1、为什么需要性能测试与分析 1)、了解…

成功交付西班牙足球俱乐部77英寸透明OLED模块订单

2024年8月初,我们完成了来自西班牙知名足球俱乐部的大宗订单交付。此次交付的10台77英寸透明OLED模块,标志着我们在高端显示技术领域迈出的又一重要步伐。这一订单不仅是我们目前单笔数量最多的77英寸模块订单,也是客户首次大规模采购我们产品…