数据库-MySQL 实战项目——书店图书进销存管理系统数据库设计与实现(附源码)
一、前言
该项目非常适合MySQL入门学习的小伙伴,博主提供了源码、数据和一些查询语句,供大家学习和参考,代码和表设计有什么不恰当还请各位大佬多多指点。
所需环境
- MySQL可视化工具:navicat;
- 数据库:MySql 5.7/8.0等版本均可;
需求:
1:每个书店有多家供应商,每家供应商给多个书店供货。
2:每个书店聘用多名员工,每个员工只属于一个书店每个书店存放多本图书,多本图书存放在一家书店。
4: 每本图书可以被任何会员购买,一名会员可以购买任意一本图书。
备注:
书店包含下列属性: 编号,地址,书店名字,老板电话;
员工包含下列属性: 身份证,名字,性别,年龄;
图书包含下列属性: 编号,书名,价格,库存量;
会员包含下列属性: 编号,姓名,电话,积分;
关于某供应商给书店供货要描述供货日期;
关于书店聘用员工要描述聘用日期:
关于会员购买图书需要描述购买数量;
关于书店存放图书需要描述存放位置。
二、E-R图

三、关系模式
供应商:(供应商编号,供应商地址,供应商联系人,供应商联系电话,供应商名字,供应商备注)。
书店:(书店编号,书店地址,书店名字,书店老板电话)
员工:(身份证,员工名字,员工性别,员工年龄,书店编号,聘用时期)
图书:(图书编号,书名,价格,库存量,书店编号,存放位置)
会员:(会员编号,会员姓名,会员电话,积分)。
供应信息:(供应商编号,书店编号,供应时间)
购买信息:(会员编号,图书编号,购买数量)
备注:
下划线为主键,红色字为外键;
四、数据表的设计
表1 供应商
| 字段 | 数据类型 | 长度 | 备注 |
|
| 供应商编号 | varchar | 50 | 主键 |
|
| 供应商地址 | varchar | 50 |
|
|
| 供应商联系人 | varchar | 50 |
|
|
| 供应商联系电话 | varchar | 50 |
|
|
| 供应商名字 | varchar | 50 | Not null |
|
| 供应商备注 | varchar | 50 |
|
|
表2 书店
| 字段 | 数据类型 | 长度 | 备注 |
|
| 书店编号 | varchar | 50 | 主键 |
|
| 书店地址 | varchar | 50 |
|
|
| 书店名字 | varchar | 50 | Not null |
|
| 书店老板电话 | Varchar | 50 |
|
|
表3 员工
| 字段 | 数据类型 | 长度 | 备注 |
|
| 身份证 | varchar | 20 | 主键 |
|
| 员工性别 | varchar | 50 |
|
|
| 员工年龄 | Int | 3 |
|
|
| 员工名字 | varchar | 50 | Not null |
|
| 书店编号 | varchar | 50 | 外键 |
|
| 聘用时间 | date |
| Not null |
|
表4 图书
| 字段 | 数据类型 | 长度 | 备注 |
|
| 图书编号 | varchar | 50 | 主键 |
|
| 书名 | varchar | 50 | Not null |
|
| 价格 | float | 8 |
|
|
| 库存量 | int | 8 |
|
|
| 书店编号 | varchar | 50 | 外键 |
|
| 存放位置 | varchar | 50 | Not null |
|
表5 会员
| 字段 | 数据类型 | 长度 | 备注 |
|
| 会员编号 | varchar | 50 | 主键 |
|
| 会员姓名 | varchar | 50 | Not null |
|
| 会员电话 | varchar | 50 |
|
|
| 积分 | int | 50 |
|
|
表6 供应信息
| 字段 | 数据类型 | 长度 | 备注 |
|
| 供应商编号 | varchar | 50 | 主键 |
|
| 书店编号 | varchar | 50 | 主键 |
|
| 供货时间 | date |
| Not null |
|
表7 购买信息
| 字段 | 数据类型 | 长度 | 备注 |
|
| 图书编号 | varchar | 50 | 主键 |
|
| 会员编号 | varchar | 50 | 主键 |
|
| 购买数量 | int | 8 | Not null |
|
五、创建数据库
Create database 书店图书进销存管理系统 character set utf8 collate utf8_general_ci
-- 在新建表前选择数据库
Use 书店图书进销存管理系统
创建各实体表:
1. 供应商
create table 供应商
(供应商编号 VARCHAR(50) PRIMARY KEY,供应商地址 VARCHAR(50),供应商联系人 VARCHAR(50),供应商联系电话 VARCHAR(50),供应商名字 VARCHAR(50) NOT NULL,供应商备注 VARCHAR(50)
)
2.书店
CREATE TABLE 书店
(书店编号 varchar(50) PRIMARY KEY,书店地址 VARCHAR(50),书店名字 VARCHAR(50) NOT NULL,书店老板电话 VARCHAR(50)
)
3.员工
CREATE TABLE 员工
(身份证 VARCHAR(50) PRIMARY KEY,员工姓名 VARCHAR(50) NOT NULL,员工性别 VARCHAR(50),员工年龄 int(3),书店编号 VARCHAR(50),聘用时间 DATE NOT NULL,CONSTRAINT FK书店编号 FOREIGN KEY(书店编号) REFERENCES 书店(书店编号)
)
4.图书
CREATE TABLE 图书
(图书编号 VARCHAR(50) PRIMARY KEY,书名 VARCHAR(50) NOT NULL,价格 FLOAT(8),库存量 INT(8),书店编号 VARCHAR(50),存放位置 VARCHAR(50) NOT NULL,CONSTRAINT FK_书店编号 FOREIGN KEY (书店编号) REFERENCES 书店(书店编号)
)
5.会员
CREATE TABLE 会员
(会员编号 VARCHAR(50) PRIMARY KEY,会员姓名 VARCHAR(50) NOT NULL,会员电话 VARCHAR(50),积分 INT(5)
)
6. 供应信息
CREATE TABLE 供应信息
(供应商编号 VARCHAR(50),书店编号 VARCHAR(50),供应时间 DATE NOT NULL,PRIMARY KEY(供应商编号,书店编号)
)
7. 购买信息
CREATE TABLE 购买信息
(图书编号 VARCHAR(50),会员编号 VARCHAR(50),购买数量 INT(8) NOT NULL,PRIMARY KEY(图书编号,会员编号)
)
插入数据:
1. 供应商
INSERT INTO 供应商 VALUES ('G001','春熙路12号','李明','13123451234','邮电出版社','优等')
INSERT INTO 供应商 VALUES ('G002','天府路85号','薛鹏','15198762347','工业出版社','良好')
INSERT INTO 供应商 VALUES ('G003','太升路35号','林波','15823140987','机械出版社','良好')
INSERT INTO 供应商 VALUES ('G004','民航路94号','苏珊','18078651234','民航出版社','优等')
INSERT INTO 供应商 VALUES ('G005','芙蓉路53号','林达','18698704563','商务出版社','良好')
INSERT INTO 供应商 VALUES ('G006','天府三街6号','小野','19382069330','三街出版社','优等')
INSERT INTO 供应商 VALUES ('G007','十三区43号','成龙','17865989988','符咒出版社','优等')
INSERT INTO 供应商 VALUES ('G008','成华大道66号','谭警官','16666666666','成华出版社','良好')
INSERT INTO 供应商 VALUES ('G009','天益街83号','橙汁','18765498596','橙汁出版社','优等')
INSERT INTO 供应商 VALUES ('G0010','二仙桥23号','二大爷','15465989586','大爷版社','优等')
2.书店
INSERT INTO 书店 VALUES ('S001', '长城路5号', '求实书店', '13612345678')
INSERT INTO 书店 VALUES ('S002', '长江路64号', '上进书店', '13703456784')
INSERT INTO 书店 VALUES ('S003', '黄河路93号', '梦想书店', '13882346743')
INSERT INTO 书店 VALUES ('S004', '泰山路59路', '书虫书店', '13998762345')
INSERT INTO 书店 VALUES ('S005', '青城山路23号', '创业书店', '13976543214')
INSERT INTO 书店 VALUES ('S006', '春熙路13号', '邮电书店', '13598657412')
INSERT INTO 书店 VALUES ('S007', '天府路86号', '工业书店', '15146523698')
INSERT INTO 书店 VALUES ('S008', '太升路36号', '机械书店', '14756329833')
INSERT INTO 书店 VALUES ('S009', '民航路95号', '民航书店', '16654233322')
INSERT INTO 书店 VALUES ('S010', '芙蓉路54号', '商务书店', '13322336655')
3.员工
INSERT INTO 员工 VALUES ('511001199001011234', '张三', '男', 33, 'S001', '2009-07-01')
INSERT INTO 员工 VALUES ('510102199102032345', '李四', '男', 32, 'S002', '2008-03-01')
INSERT INTO 员工 VALUES ('510101199203033456', '王丽', '女', 31, 'S003', '2007-04-01')
INSERT INTO 员工 VALUES ('510101199303033456', '王宝玉', '男', 30, 'S004', '2007-04-01')
INSERT INTO 员工 VALUES ('510104199408095678', '秦松', '男', 29, 'S005', '2006-08-01')
INSERT INTO 员工 VALUES ('510001199105079965', '丁真', '男', 32, 'S006', '2010-06-28')
INSERT INTO 员工 VALUES ('510011199304261355', '李明', '男', 30, 'S007', '2009-01-15')
INSERT INTO 员工 VALUES ('510010199512140932', '李华', '女', 28, 'S008', '2012-05-29')
INSERT INTO 员工 VALUES ('510110199811230623', '王明', '男', 25, 'S009', '2013-04-30')
INSERT INTO 员工 VALUES ('510023199407112556', '林琬茹', '女', 29, 'S010', '2009-09-01')
4.图书
INSERT INTO 图书 VALUES ('T001', '围城', 58, 31, 'S001', '一楼')
INSERT INTO 图书 VALUES ('T002', '边城', 46, 12, 'S002', '二楼')
INSERT INTO 图书 VALUES ('T003', '平凡的世界', 32, 87, 'S003', '三楼')
INSERT INTO 图书 VALUES ('T004', '撒野', 36, 67, 'S004', '二楼')
INSERT INTO 图书 VALUES ('T005', '人间失格', 28, 28, 'S005', '二楼')
INSERT INTO 图书 VALUES ('T006', '狂人日记', 99, 16, 'S006', '三楼')
INSERT INTO 图书 VALUES ('T007', '乌合之众', 32, 86, 'S007', '一楼')
INSERT INTO 图书 VALUES ('T008', '自卑与超越', 42, 66, 'S008', '二楼')
INSERT INTO 图书 VALUES ('T009', '人生', 66, 74, 'S009', '三楼')
INSERT INTO 图书 VALUES ('T010', '活着', 78, 33, 'S010', '一楼')
5.会员
INSERT INTO 会员 VALUES ('V001', '林丹', '17109872345', 654)
INSERT INTO 会员 VALUES ('V002', '十三', '17209874321', 1368)
INSERT INTO 会员 VALUES ('V003', '陈羽', '17308763456', 69)
INSERT INTO 会员 VALUES ('V004', '杨帆', '17408765467', 743)
INSERT INTO 会员 VALUES ('V005', '小白', '17567431298', 475)
INSERT INTO 会员 VALUES ('V006', '小黑', '17632684456', 216)
INSERT INTO 会员 VALUES ('V007', '黑大帅', '17698978445', 448)
INSERT INTO 会员 VALUES ('V008', '潇洒哥', '17544748596', 666)
INSERT INTO 会员 VALUES ('V009', '格林', '17488932254', 1473)
INSERT INTO 会员 VALUES ('V010', '路遥', '17588141121', 187)
6. 供应信息
INSERT INTO 供应信息 VALUES ('G001', 'S001', '2020-04-21')
INSERT INTO 供应信息 VALUES ('G002', 'S002', '2020-04-22')
INSERT INTO 供应信息 VALUES ('G003', 'S003', '2020-04-23')
INSERT INTO 供应信息 VALUES ('G004', 'S004', '2020-04-20')
INSERT INTO 供应信息 VALUES ('G005', 'S005', '2020-04-21')
INSERT INTO 供应信息 VALUES ('G006', 'S006', '2020-04-22')
INSERT INTO 供应信息 VALUES ('G007', 'S007', '2020-04-22')
INSERT INTO 供应信息 VALUES ('G008', 'S008', '2020-04-21')
INSERT INTO 供应信息 VALUES ('G009', 'S009', '2020-04-24')
INSERT INTO 供应信息 VALUES ('G010', 'S010', '2020-04-23')
7. 购买信息
INSERT INTO 购买信息 VALUES ('T001', 'V010', 2)
INSERT INTO 购买信息 VALUES ('T002', 'V009', 4)
INSERT INTO 购买信息 VALUES ('T003', 'V008', 5)
INSERT INTO 购买信息 VALUES ('T004', 'V007', 2)
INSERT INTO 购买信息 VALUES ('T005', 'V006', 1)
INSERT INTO 购买信息 VALUES ('T006', 'V005', 6)
INSERT INTO 购买信息 VALUES ('T007', 'V004', 7)
INSERT INTO 购买信息 VALUES ('T008', 'V003', 3)
INSERT INTO 购买信息 VALUES ('T009', 'V002', 2)
INSERT INTO 购买信息 VALUES ('T010', 'V001', 1)
六、主要查询命令
-
查询所有书店地址信息结果
select 书店地址 from 书店
-
查询四月所有供应商中哪些供应过书籍。(查看供应商编号)
select DISTINCT 供应商编号 from 供应信息 where 供应时间 like '2020-04%'
-
查询所有书店中年龄最大的男员工姓名。
select 员工姓名 from 员工 where 员工性别 = '男' ORDER BY 员工年龄 desc limit 1
-
查询书店老板电话为139开头的书店名字。
select 书店名字 from 书店 where 书店老板电话 like '139%'
-
查询价格低于平均价格的书籍名字。
SELECT 书名 FROM 图书 WHERE 价格 < (SELECT AVG(价格) FROM 图书)
-
查询购买书籍数量最多的会员名字。
SELECT 会员姓名 FROM 会员 WHERE 会员编号 = (select 会员编号 from 购买信息 GROUP BY 会员编号 ORDER BY(购买数量) desc limit 1)
-
查询员工人数最少的书店所在地址。
select 书店地址 from 书店 where 书店编号 = (select 书店编号 from 员工 GROUP BY 书店编号 ORDER BY count(*) asc limit 1)
-
查询优等供应商给哪些书店供货过,并按照供货时间从早到晚排序。
select * from 供应信息 where 供应商编号 in (select 供应商编号 from 供应商 where 供应商备注 = '优等') ORDER BY 供应时间
-
查询价格最贵的三种图书,存放在哪些书店里。(查看书店名字)。
select 书店名字 from 书店 where 书店编号 = (select 书店编号 from 图书 ORDER BY 价格 desc limit 1) or 书店编号 = (select 书店编号 from 图书 ORDER BY 价格 desc limit 1,1)or 书店编号 = (select 书店编号 from 图书 ORDER BY 价格 desc limit 2,1)
-
查询人生这本书,被哪些会员购买过。
select 会员姓名 from 会员 where 会员编号 in (select 会员编号 from 购买信息 where 图书编号 in (select 图书编号 from 图书 where 书名 = '人生'))
七、答疑解惑
代码有问题或需要其他的查询语句,都可以随时评论留言或联系博主。
还多请各位小伙伴多多点赞支持,你们的支持是我最大的动力。
博主VX:18884281851
谢谢各位的支持~~
相关文章:
数据库-MySQL 实战项目——书店图书进销存管理系统数据库设计与实现(附源码)
一、前言 该项目非常适合MySQL入门学习的小伙伴,博主提供了源码、数据和一些查询语句,供大家学习和参考,代码和表设计有什么不恰当还请各位大佬多多指点。 所需环境 MySQL可视化工具:navicat; 数据库:MySq…...
eNSP中WLAN的配置和使用
一、基础配置 1.拓扑图 2.VLAN和IP配置 a.R1 <Huawei>system-view [Huawei]sysname R1 GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 200.200.200.200 24 b.S1 <Huawei>system-view [Huawei]sysname S1 [S1]vlan 100 [S1-vlan100]vlan 1…...
<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解
<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解 一、前言二、ID16_UsecaseRawLiteAuto拓扑图三、UsecaseRawLiteAuto拓扑图 解析3.1 camxUsecaseRawLiteAuto.xml3.2 camxRawLiteAuto.xml四、测试一、前言 我们在使用QCX时,如果由于使用的摄像头自带了ISP,那么可能不需要使…...
为什么3d重制变换模型会变形?---模大狮模型网
在当今数字技术飞速发展的时代,3D建模和动画制作已经成为影视、游戏和虚拟现实中不可或缺的一部分。然而,即使在高级的3D软件中,重制(rigging)和变换(transformation)过程中仍然会面临一个普遍的问题——模型变形。这种变形可能导致动画效果不…...
ElasticSearch中的BM25算法实现原理及应用分析
文章目录 一、引言二、BM25算法实现原理BM25算法的实现原理1. 词频(TF):2. 逆文档频率(IDF):3. 长度归一化:4. BM25评分公式: BM25算法示例 三、BM25算法在ElasticSearch中的应用分析…...
web权限到系统权限 内网学习第一天 权限提升 使用手工还是cs???msf可以不??
现在开始学习内网的相关的知识了,我们在拿下web权限过后,我们要看自己拿下的是什么权限,可能是普通的用户权限,这个连添加用户都不可以,这个时候我们就要进行权限提升操作了。 权限提升这点与我们后门进行内网渗透是乘…...
ros1仿真导航机器人 hector_mapping gmapping
仅为学习记录和一些自己的思考,不具有参考意义。 1 hector_mapping 建图过程 (1)gazebo仿真 roslaunch why_simulation why_slam.launch <launch><!-- We resume the logic in empty_world.launch, changing only the name of t…...
嵌入式实验---实验五 串口数据接收实验
一、实验目的 1、掌握STM32F103串口数据接收程序设计流程; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、STM32F103R6能通过查询中断方式接收数据,每接收到一个字节,立即向对方发送一个相同内容的字节,并把该字节的十六进…...
ubuntu 22.04下编译安装glog共享库
笔者是完美主义者,在编译opencv4.9时,有个有关glog的warn,就下载编译google的glog库并把它编译成shared libaray。重新编译opencv4.9时,该warn解除。现把编译安装glog过程记录,以备后查。 以下操作全程以root身份或sudo执行。 cd…...
Linux环境安装配置nginx服务流程
Linux环境的Centos、麒麟、统信操作系统安装配置nginx服务流程操作: 1、官网下载 下载地址 或者通过命令下载 wget http://nginx.org/download/nginx-1.20.2.tar.gz 2、上传到指定的服务器并解压 tar -zxvf nginx-1.20.1.tar.gzcd nginx-1.20.1 3、编译并安装到…...
设计模式-模板模式
简介 模板方法模式是一种行为设计模式,它在父类中定义了一个操作的算法框架,允许子类在不改变算法结构的情况下重定义算法的某些步骤。这种模式是基于继承的,通过抽象类将通用的代码抽取到超类中,同时通过具体类实现或者改写算法…...
物理删除和逻辑删除区别
物理删除和逻辑删除是数据库管理中针对记录删除操作的两种不同方式,它们的主要区别在于数据的实际处理和后续影响: 物理删除: 操作实质:物理删除会将数据记录从数据库表中彻底移除,包括记录所占的磁盘空间都会被释放。…...
C# 警告 warning MSB3884: 无法找到规则集文件“MinimumRecommendedRules.ruleset”
警告 warning MSB3884: 无法找到规则集文件“MinimumRecommendedRules.ruleset” C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.CSharp.CurrentVersion.targets(129,9): warning MSB3884: 无法找到规则集文件“MinimumRe…...
Lua网站开发之文件表单上传
这个代码示例演示如何上传文件或图片,获取上传信息及保存文件到本地。 local fw require("fastweb") local request require("fastweb.request") local response require("fastweb.response") local cjson require("cjson&q…...
千益畅行,旅游卡,如何赚钱?
赚钱这件事情,只有自己努力执行才会有结果。生活中没有幸运二字,每个光鲜亮丽的背后,都是不为人知的付出! #旅游卡服务#...
Element-plus点击当前行之后获取数据显示跟随行数据
要实现点击当前行后,在当前行的下方显示数据,可以通过以下步骤来实现: 在表格的行点击事件中获取当前点击行的位置信息。根据位置信息动态计算并设置需要显示数据区域的位置。 下面是一个更新后的示例代码,演示如何在 Element-P…...
Docker与微服务实战2022 尚
Docker与微服务实战2022 尚硅谷讲师:周阳 1. 基础篇(零基小白) 1 1.1. Docker简介 2 1.2. Docker安装 15 1.3. Docker常用命令 29 1.4. Docker镜像 43 1.5. 本地镜像发布到阿里云 50 1.6. 本地镜像发布到私有库 57 1.7. Docker容器数据卷 64 1.8. Docker常规安装简介 …...
Spring @Cacheable缓存注解用法说明
注解Cacheable 是 Spring 框架中用于缓存数据的方法或类的注解。通过使用这个注解,你可以避免重复计算和重复获取数据,从而提高应用程序的性能。 基本用法 引入依赖 确保在你的项目中引入了 Spring Cache 相关的依赖。如果你使用的是 Spring Boot&…...
Redis如何实现主从复制
Redis主从复制包括全量复制和增量复制。主是主服务器,从是从服务器,主服务器(master )的数据如果更新了也会同步到从服务器(slave),一个主服务器可以搭配很多个从服务器,主服务器负责写入,从服务器只能读取…...
正则表达式以及文本三剑客grep、sed、awk
正则表达式匹配的是文本内容,文本三剑客都是针对文本内容。 grep:过滤文本内容 sed:针对文本内容进行增删改查 awk:按行取列 一、grep grep的作用使用正则表达式来匹配文本内容 1、grep选项 -m:匹配几次之后停止…...
UI自动化测试--02(Xpath与CSS定位全攻略)
1.Xpath定位xpath和css定位可以利用以下元素的信息来完成定位: 层级结构 元素自身的所有信息 什么是Xpath: 是一种专门在xml文档中找元素的公式(表达式),而HTML刚好和XML结构很类似,所以XPATH的表达 式也可…...
Java伪终端完全实战:如何用pty4j实现跨平台命令行交互
Java伪终端完全实战:如何用pty4j实现跨平台命令行交互 【免费下载链接】pty4j Pty for Java 项目地址: https://gitcode.com/gh_mirrors/pt/pty4j 在Java应用中集成命令行交互功能,你是否曾面临跨平台兼容性差、进程管理复杂、终端控制能力有限等…...
丹青幻境部署案例:高校数字艺术实验室低成本GPU算力复用方案
丹青幻境部署案例:高校数字艺术实验室低成本GPU算力复用方案 1. 项目背景与挑战 很多高校的数字艺术、动画设计或新媒体专业,都面临一个共同的难题:教学和创作需要强大的AI绘图能力,但专门采购一批高性能GPU服务器,预…...
别再只盯着YOLOv5了!聊聊FPN、PANet这些‘特征融合’老将如何帮你搞定小目标检测
小目标检测实战:FPN与PANet如何突破YOLO系列的性能瓶颈 在工业质检项目中,我们团队曾遇到一个典型问题:使用YOLOv5s模型检测电路板元件时,虽然大尺寸的电容电阻识别准确率超过95%,但0402封装的微型贴片元件(…...
从Proteus仿真到普中开发板烧录:51单片机抢答器完整开发流程避坑指南
从Proteus仿真到普中开发板烧录:51单片机抢答器完整开发流程避坑指南 在电子设计的学习道路上,51单片机项目开发是一个经典的入门实践。抢答器作为典型的互动式电子系统,涵盖了输入检测、逻辑控制、显示输出等核心知识点,是检验学…...
告别打印烦恼:Anycubic i3 Mega定制Marlin固件的全方位升级方案
告别打印烦恼:Anycubic i3 Mega定制Marlin固件的全方位升级方案 【免费下载链接】Marlin-Ai3M 🖨 Marlin firmware optimized for the Anycubic i3 Mega 3D printer 项目地址: https://gitcode.com/gh_mirrors/ma/Marlin-Ai3M 场景引入࿱…...
Java 技术:稳定性与创新性融合下的持续卓越之路
【导语:在科技变革与挑战并存的当下,Java 凭借独特优势保持显著地位。它在稳定性与创新性间寻得平衡,通过社区治理、开源框架等方面不断发展,未来发展值得期待。】JCP 驱动的 Java 社区民主治理Java 成功的核心在于其充满活力的社…...
别再傻傻克隆了!Conda 4.14+ 一键重命名虚拟环境的正确姿势(附版本检查)
Conda虚拟环境重命名终极指南:从版本检查到高效实践 在Python开发中,虚拟环境管理是每个开发者必备的核心技能。作为最流行的Python环境管理工具之一,Conda在4.14版本引入了一个革命性功能——直接重命名虚拟环境。这个看似简单的改进&#…...
UEFI启动全流程拆解:从按下电源键到系统加载的幕后故事
UEFI启动全流程拆解:从按下电源键到系统加载的幕后故事 当你按下电脑的电源键,短短几秒内,一场精密的交响乐正在硬件深处悄然上演。这场演出的总指挥,正是现代计算机的启动管家——UEFI(统一可扩展固件接口࿰…...
材料科学中的缺陷与强化:如何通过控制缺陷提升材料性能?
材料科学中的缺陷与强化:如何通过控制缺陷提升材料性能? 在材料科学领域,晶体缺陷常被视为材料性能的"双刃剑"。一方面,它们可能导致材料强度降低;另一方面,精心设计的缺陷结构却能显著提升材料性…...
