返回顶部
首页 > 资讯 > 数据库 >设计MySQL数据库常常会遇到的问题
  • 844
分享到

设计MySQL数据库常常会遇到的问题

2024-04-02 19:04:59 844人浏览 薄情痞子
摘要

本文主要给大家介绍设计Mysql数据库常常会遇到的问题,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下设计mysql数据库常常会遇到的问题吧。第一题:

本文主要给大家介绍设计Mysql数据库常常会遇到的问题,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下设计mysql数据库常常会遇到的问题吧。

第一题:层级数据库设计

题目描述:现在有10万条左右的数据,记录一个部门的员工。大部门下是层级结构,有许多个子部门。比如,一级部分A,二级部门A’,B’,C’,三级部门A”,B”,C”。试问如何设计数据库,我们需要统计二级部分A’下的所有人数。
分析:
这里用到了一个层级数据库的设计。

CREATE TABLE DEPARTMENT(
    DEP_ID INT UNSIGNED AUTO_INCREMENT,
    DEP_NAME VARCHAR(10) NOT NULL,
    PARENT_ID INT,    
    PRIMARY KEY(DEP_ID)
)CHARSET=utf8;

设计MySQL数据库常常会遇到的问题
插入数据

单个插入
INSERT INTO DEPARTMENT (DEP_NAME, PARENT_ID)
VALUES
('A',NULL);
或者批量插入
INSERT INTO department VALUES(1,'A',NULL),(2,'B',1),(3,'C',1),
        (4,'D',2),(5,'E',2),(6,'F',3),(7,'G',3);
dep_iddep_nameparent_id
1ANULL
2B1
3C1
4D2
5E2
6F3
7G3

设计MySQL数据库常常会遇到的问题
显示层级,这里用到了left join,根据这一级的dep_id,寻找它的parent_id,然后通过左连接进行连接,得到当前部门以及他的父部门。

select d1.dep_name as level1, d2.dep_name as level2, d3.dep_name as level3, d4.dep_name as level4
from department as d1
left join department as d2 on d2.parent_id = d1.dep_id 
left join department as d3 on d3.parent_id = d2.dep_id
left join department as d4 on d4.parent_id = d3.dep_id
where d1.dep_name='A';

设计MySQL数据库常常会遇到的问题
当存储好了部门的层级信息后,我们就开始设计一个部门人员的表。
创建表,并存储部门人员的信息

create table people(
    id INT UNSIGNED AUTO_INCREMENT,
    name varchar(10) not null,
    dep_id INT UNSIGNED,
    departname varchar(10),   
    FOREIGN KEY (dep_id) REFERENCES department(dep_id),    
    primary key(id)
    )charset=utf8;

设计MySQL数据库常常会遇到的问题
插入相关的测试数据。

INSERT INTO people VALUES(1,'hgy',4,'D'),(2,'abc',5,'E'),(3,'def',6,'F'),
        (4,'DDD',2,'B'),(5,'eee',2,'B');

设计MySQL数据库常常会遇到的问题
查找二级部门为B的人,并且列出了他的上级部门信息

select p.id, p.name, d1.dep_name as level1, d2.dep_name as level2, d3.dep_name as level3
from people as p
left join department as d1 on d1.dep_id = p.dep_id
left join department as d2 on d2.dep_id  = d1.parent_id
left join department as d3 on d3.dep_id = d2.parent_id
where d1.dep_name='B' or d2.dep_name='B' or d3.dep_name='B';

设计MySQL数据库常常会遇到的问题
查找二级部门为B的总人数

select count(*) as total
from people as p
left join department as d1 on d1.dep_id = p.dep_id
left join department as d2 on d2.dep_id  = d1.parent_id
left join department as d3 on d3.dep_id = d2.parent_id
where d1.dep_name='B' or d2.dep_name='B' or d3.dep_name='B';
idnamedepartment_iddepartname
1hgy4D
2abc5E
3def6F
4ddd2B
5eee2B

应该考虑到有的人在二级部门(可能没有三级部门,没有四级部门),有的人在一级部门,有的人在四级部门(有一级部门,二级部门,三级部门,四级部门)。
设计MySQL数据库常常会遇到的问题

第二题:简单的统计

题目描述:现在有一批学生的成绩,求四门学科总分大于200的学生,并且按逆序排列。

CREATE TABLE STUDENT(
    ID INT UNSIGNED AUTO_INCREMENT,
    SCORE1 INT NOT NULL,
    SCORE2 INT NOT NULL,
    SCORE3 INT NOT NULL,
    SCORE4 INT NOT NULL,    
    PRIMARY KEY(ID)
)CHARSET=utf8;

设计MySQL数据库常常会遇到的问题

INSERT INTO STUDENT VALUES(1,100,98,10,4),(2,100,9,10,4),(3,70,0,180,40),(4,10,98,1,4),(5,30,7,10,4),(6,8,88,1,43);

设计MySQL数据库常常会遇到的问题
根据四门成绩的总分进行排序

SELECT id, score1,score2,score3,score4, score1+score2+score3+score4 as total 
FROM STUDENTwhere score1+score2+score3+score4 > 200 order by score1+score2+score3+score4 desc;

设计MySQL数据库常常会遇到的问题
这里是一个不能直接用别名来排序的知识点,

看完以上关于设计Mysql数据库常常会遇到的问题,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的数据库栏目的。

您可能感兴趣的文档:

--结束END--

本文标题: 设计MySQL数据库常常会遇到的问题

本文链接: https://lsjlt.com/news/35229.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 设计MySQL数据库常常会遇到的问题
    本文主要给大家介绍设计MySQL数据库常常会遇到的问题,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下设计MySQL数据库常常会遇到的问题吧。第一题:...
    99+
    2024-04-02
  • 经常遇到的mysql小问题
    下面一起来了解下经常遇到的mysql小问题,相信大家看完肯定会受益匪浅,文字在精不在多,希望经常遇到的mysql小问题这篇短内容是你想要的。日期类型的数据datetime 只支持mysql 5.6.5+,老...
    99+
    2024-04-02
  • Htlm设计中会遇到哪些问题
    这篇文章主要介绍“Htlm设计中会遇到哪些问题”,在日常操作中,相信很多人在Htlm设计中会遇到哪些问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Htlm设计中会遇到哪些...
    99+
    2024-04-02
  • MYSQL数据库初始化时经常遇到的一些问题总结
    下面一起来了解下MYSQL数据库初始化时经常遇到的一些问题,相信大家看完肯定会受益匪浅,文字在精不在多,希望MYSQL数据库初始化时经常遇到的一些问题这篇短内容是你想要的。 初始化MYSQL数据库...
    99+
    2024-04-02
  • 云服务器经常会遇到哪些问题
    云服务器经常会遇到问题有:数据泄露、帐户劫持、恶意ddos攻击、不安全的编程接口等。数据泄露,会导致客户账户、商业机密和、供应商信息以及其他有价值的信息丢失。帐户劫持,竞争对手和犯罪分子如果获取登录和密码信息,即可直接操控云服务器。恶意dd...
    99+
    2024-04-02
  • 使用ip代理时会遇到哪些常见的问题
    本篇文章为大家展示了使用ip代理时会遇到哪些常见的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、授权问题很多用户在开通ip代理后,发现API提取链接生成后,无法提取IP,或者提取IP后无法全...
    99+
    2023-06-15
  • 租用韩国服务器通常会遇到哪些问题
    租用韩国服务器通常会遇到的问题:1、用户操作不当导致服务器无法正常运行,出现该问题时需要咨询功服务商机房技术人员进行解决;2、韩国服务器被网络恶意攻击导致无法运行,当遇到该问题时,需要及时给服务器升级防御功能,并且做好日常服务器维护措施,确...
    99+
    2024-04-02
  • springboot项目全局异常处理会遇到哪些问题
    这篇文章主要介绍了springboot项目全局异常处理会遇到哪些问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题一:全局异常抽离出来后,业务错误码如何定义?之前团队的业...
    99+
    2023-06-28
  • sybase15 迁移数据库时遇到的问题
    在创建逻辑卷的时候首先要创建pv pvcreate /dev/sdb创建pv之后开始创建vg vgcreate vg_db /dev/sdb创建vg后开始划lv也就是逻辑卷 lvcreate -L 1G e...
    99+
    2024-04-02
  • Excel数据导入Mysql常见问题汇总:如何解决导入数据时遇到的乱码问题?
    Excel数据导入Mysql常见问题汇总:如何解决导入数据时遇到的乱码问题?导入Excel数据到Mysql数据库是日常工作中常见的任务。但有时候在导入过程中,会遇到乱码问题,导致数据显示不正确。本文将总结常见的乱码问题,并提供解决方案,以帮...
    99+
    2023-10-22
    MySQL 乱码问题 关键词:Excel导入
  • 如何解决当MySQL数据库遇到Syn Flooding问题
    这篇文章给大家分享的是有关如何解决当MySQL数据库遇到Syn Flooding问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Syn攻击是最常见又最容易被利用的一种攻击手法,...
    99+
    2024-04-02
  • Excel数据导入Mysql常见问题汇总:如何处理导入时遇到的编码问题?
    Excel数据导入Mysql常见问题汇总:如何处理导入时遇到的编码问题?导入Excel数据到MySQL数据库是一个常见的任务。然而,在这个过程中,往往会遇到编码问题。本文将探讨几种常见的编码问题,并提供相应的解决方案。问题:导入Excel中...
    99+
    2023-10-22
    数据导入 Mysql常见问题 编码处理
  • Excel数据导入Mysql常见问题汇总:如何处理导入时遇到的空值问题?
    Excel数据导入Mysql常见问题汇总:如何处理导入时遇到的空值问题?导入Excel数据到Mysql是日常数据处理中常见的任务,在导入过程中经常会遇到空值的情况。本文将介绍导入Excel数据时常见的空值问题,并给出相应的解决方法。空值如何...
    99+
    2023-10-22
    空值处理 Excel数据导入 Mysql常见问题
  • 关于DVWA创建数据库遇到的问题
    在DVWA创建数据库时相比大家可能会遇到意想不到的问题,接下来我来说明一下我自己时遇到的问题及解决方法,希望给大家提供一些参考。 问题如下: “Could not connect to the MySQL service. Pleas...
    99+
    2023-09-04
    mysql Powered by 金山文档
  • 配置mysql主从复制经常会遇到的坑
    本文主要给大家简单讲讲配置mysql主从复制经常会遇到的坑,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望配置mysql主从复制经常会遇到的坑这篇文章可以给大...
    99+
    2024-04-02
  • MySQL数据库有哪些常用架构设计
    本篇文章给大家分享的是有关MySQL数据库有哪些常用架构设计,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、MySQL引擎MySQL提供了两...
    99+
    2024-04-02
  • Excel数据导入Mysql常见问题汇总:如何解决导入时遇到的数据长度超限问题?
    Excel数据导入Mysql常见问题汇总:如何解决导入时遇到的数据长度超限问题?导入Excel数据到Mysql数据库是日常工作中经常遇到的任务之一。但是,在导入过程中常常会遇到数据长度超限的问题,特别是当Excel表格中某些字段的数据长度超...
    99+
    2023-10-22
    MySQL 关键词:Excel数据 数据长度超限问题
  • Excel数据导入Mysql常见问题汇总:如何处理导入数据时遇到的错误日志问题?
    Excel数据导入Mysql常见问题汇总:如何处理导入数据时遇到的错误日志问题?导入Excel数据到MySQL数据库是一项常见的任务。然而,在这个过程中,我们经常会遇到各种错误和问题。其中之一就是错误日志问题。当我们尝试导入数据时,系统可能...
    99+
    2023-10-22
    错误日志 处理 数据导入
  • Excel数据导入Mysql常见问题汇总:如何解决导入过程中遇到的数据校验问题?
    Excel数据导入Mysql常见问题汇总:如何解决导入过程中遇到的数据校验问题?导入Excel数据到MySQL数据库是我们在数据处理工作中经常需要进行的操作。然而,在这个过程中常常会遇到一些数据校验问题,导致导入失败或者导入后的数据不符合我...
    99+
    2023-10-22
    Excel导入 数据校验 Mysql常见问题
  • Excel数据导入Mysql常见问题汇总:如何处理导入数据时遇到的无效日期问题?
    Excel数据导入MySQL常见问题汇总:如何处理导入数据时遇到的无效日期问题?在将Excel中的数据导入到MySQL数据库中时,常常会遇到日期格式不一致、数据丢失或无效日期等问题。本文将介绍如何处理导入数据时遇到的无效日期问题,并提供相应...
    99+
    2023-10-22
    数据导入 无效日期处理 Excel导入MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作