MySQL初级之战

news2025/1/10 12:06:39

华子目录

  • 什么是数据库?
  • 数据库管理系统(DBMS)
  • 数据库系统与文件系统的区别
  • 数据库的发展史
  • 常见数据库
    • 关系性数据库
    • 关系型数据库的4大特性
    • 关系型数据库的优缺点
    • 非关系型数据库
    • 非关系数据库的优点和缺点
  • DBMS支持的数据模型
  • MySQL体系架构
    • 连接层
    • SQL层
    • 插件式存储引擎
      • myisam
      • innodb
    • 物理文件层
  • SQL语句分类
    • DDL
    • DQL
    • DCL
    • DML
    • TCL
  • 作业

什么是数据库?

1.数据:描述事物的符号记录,可以是数字,文字,图形,图像,声音,语音等。数据有多种形式,它们都可以经过数字化后存入计算机。
2.数据库:存储数据的仓库,是长期存放在计算机内有组织、可共享的大量数据的集合。
注:数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享。

总结为以下几点:
1.数据结构化
2.数据的共享性高,冗余度低,易扩充
3.数据独立性高
4.数据由DBMS统一管理和控制(安全性,完整性,并发控制,故障恢复)

数据库管理系统(DBMS)

数据库管理系统(DBMS)是管理数据库的一个软件。它充当所有数据的知识库,并对它的存储、安全、一致性、并发操作、恢复和访问负责。
DBMS有一个数据字典(有时被称为系统表),用于储存它拥有的每个事物的相关信息,例如名字、结io;构,位置和类型,这种数据的数据也杯称为元数据。

数据库系统与文件系统的区别

1.文件系统:文件系统时操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统
2.数据库系统:数据库管理系统是一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
对比区别:
1.管理对象不同:文件系统管理对象是文件,并非直接对数据进行管理,不同的数据结构需要使用不同的文件类型进行保存(举例:txt文件和doc文件不能通过修改文件名完成转换);而数据库直接对数据进行存储和管理。
2.存储方式不同:文件系统使用不同的文件将数据分类(.doc/.mp4/.jpg) 保存在外部存储上;数据库系统使用标准统一的数据类型进行数据保存(字母,数字,符号,时间)
3.调用数据的方式不同:文件系统使用不同的软件打开不同类型的文件;数据库系统由DBMS统一调用和管理。

数据库的发展史

初始阶段:人工管理(人力手工整理存储数据)
萌芽阶段:文件系统(使用磁盘文件来存储数据)
初级阶段:第一代数据库(出现了网状模型、层次模型的数据库)
中级阶段:第二代数据库(关系型数据库和结构化查询语句)
高级阶段:新一代数据库(NOSQL型数据库)

常见数据库

关系性数据库

简单说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。关系模型就是指二维表格模型,当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、MicrosoftAccess、MySQL、浪潮K-DB、武汉达梦、南大通用、人大金仓等等

关系型数据库的4大特性

1.原子性:事务里的所有操作要么全部做完,要么都不做。
2.一致性:数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
3.隔离性:是指并发的事务之间不会相互影响(换句话说:不同事务按照提交的先后顺序执行)
4.持久性:一旦事务提交后,它所做的修改将会永久的保存在数据库上。

关系型数据库的优缺点

优点:
1.易于维护:都是使用表结构,格式一致
2.使用方便:sql语句通用,可用于复杂查询
3.复杂操作:支持sql,可用于一个表以及多个表之间非常复杂的查询
缺点:
1.读写性能比较差,尤其是海量数据的高效率读写
2.固定的表结构,灵活度稍欠
3.高并发读写需求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

非关系型数据库

非关系型数据库,又被称为NoSQL,意为不仅仅是SQL。对NoSQL最普遍的定义是”非关联型的“,强调Key-Value存储和文档数据库的优点,是分布式数据库,近几年分布式数据库用的比较火的是Redis。
注:存储的方式有很多:”键值对“存储,列存储,文档存储,图形数据库等。
常见的非关系型数据库有:Redis、Amazon DynamoDB、Memcached、Microsoft Azure Cosmos DB和Hazelcast

非关系数据库的优点和缺点

优点:
高可扩展性,分布式计算,低成本,架构的灵活性,没有复杂的关系
缺点:
没有标准化,查询功能有限

DBMS支持的数据模型

1.层次模型
2.网状模型
3.关系模型
4.面向对象模型

MySQL体系架构

连接层

思想:为解决资源的频繁分配、释放所造成的问题,为数据库连接建立一个”缓冲池“
原理:预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从”缓冲池“中取出一个,使用完毕之后再放回去。
作用:进行身份验证,线程重用,连接限制,检查内存,数据缓存,管理用户的连接,线程处理等需要缓存的需求

SQL层

管理服务和工具组件:从备份和恢复的安全性,复制,集群,管理,配置,迁移和元数据等方面管理数据库
SQL接口组件:进行DML,DDL,存储过程,视图,触发器等操作和管理;用户SQL命令接口
解析器组件:验证和解析SQL命令
查询优化器组件:对SQL语句查询进行优化”选取,投影和连接“
缓存和缓存区:由一系列小缓存组成的,比如表缓存,记录缓存,key缓存,权限缓存等

插件式存储引擎

MySQL的存储引擎是插件式的。它根据MySQL AB公司提供的文件访问层的一个抽象接口来定制一种文件访问机制,这种访问机制就叫存储引擎。

myisam

它查询速度快,有较好的索引优化和数据压缩技术。但是它不支持事务。

innodb

它支持事务,并且提供行级的锁定,应用也相当广泛

物理文件层

1.支持的文件类型:
ext3,ext4,NTFS,NFS
2.文件内容
数据文件
日志文件
配置文件
其他文件
在这里插入图片描述
在这里插入图片描述

SQL语句分类

DDL

Data Definition Language:数据定义语言,定义对数据库对象 (库,表,列,索引) 的操作。create,drop,alter,rename,truncate等。

DQL

Data Query Language:数据查询语言,select语句

DCL

Data Control Language:数据库控制语言,定义对数据库、表,字段,用户的访问权限和安全级别。 grant,revoke等

DML

Data Manipulation Language:数据操作语言,定义对数据库记录的操作。insert,delete,update等

TCL

Transaction Control:事务控制。commit,rollback,savepoint等。

作业

1、显示所有职工的基本信息。   
mysql> select * from worker;

2、查询所有职工所属部门的部门号,不显示重复的部门号。
mysql> select distinct 部门号 from worker;
  
3、求出所有职工的人数。  
mysql> select count(*) from worker;

4、列出最高工资和最低工资。   
mysql> select max(工资),min(工资) from worker;

5、列出职工的平均工资和总工资。   
mysql> select avg(工资) as 平均工资, sum(工资) as 总工资 from worker;

6、创建一个只有职工号、姓名和工作时间的新表,名为工作日期表。
mysql> create table worker_date select 职工号,姓名,出生日期 from worker;

7、显示所有女职工的年龄。
mysql> select 性别,2023-year(出生日期) 年龄 from worker where 性别='F';

8、列出所有姓刘的职工的职工号、姓名和出生日期。
mysql> select 职工号,姓名,出生日期 from worker where 姓名='刘%';

9、列出1960年以前出生的职工的姓名、参加工作日期。
mysql> select 姓名,工作时间 from worker where year(出生日期) < 1960;

10、列出工资在1000-2000之间的所有职工姓名。
mysql> select 姓名 from worker where 工资 between 1000 and 2000;

11、列出所有陈姓和李姓的职工姓名。
mysql> select 姓名 from worker where 姓名 like '李%' or '陈%';

12、列出所有部门号为2和3的职工号、姓名、党员否。  
mysql> select 职工号,姓名,政治面貌,if(政治面貌='党员','是','否') 是否党员 from worker where 部门号 in (101,102);

13、将职工表worker中的职工按出生的先后顺序排序。
mysql> select * from worker order by year(出生日期) asc;

14、显示工资最高的前3名职工的职工号和姓名。
mysql> select 职工号,姓名 from worker order by 工资 desc limit 3;

15、求出各部门党员的人数。
mysql> select count(*) from worker where 政治面貌='党员';

16、统计各部门的工资和平均工资
mysql> select 部门号,sum(工资) 总工资,avg(工资) 平均工资 from worker group by 部门号;

17、列出总人数大于4的部门号和总人数。
mysql> select 部门号,count(*) 总人数 from worker group by 部门号 having count(*)>4;

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

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

相关文章

学生用什么样的台灯比较好?分享最合适学生使用的台灯

随着现在生活水平的提高&#xff0c;越来越多人重视健康的问题。尤其是对于孩子&#xff0c;很多家长对其可谓是百般担心、千般呵护&#xff0c;害怕出现什么问题&#xff0c;其中最主要的就是近视。而如今&#xff0c;我国青少年儿童的近视率可不低的&#xff0c;达到了52.7%&…

qt中的对象树与生命期

1.为什么要使用对象树&#xff1a; GUI 程序通常是存在父子关系的&#xff0c;比如一个对话框之中含有按钮、列表等部件&#xff0c;按钮、列表、对话框等部件其实就是一个类的对象(注意是类的对象&#xff0c;而非类)&#xff0c;很明显这些对象之间是存在父子关系的&#xff…

四、多线程服务器

1.进程的缺陷和线程的优点 1.进程的缺陷 创建进程&#xff08;复制&#xff09;的工作本身会给操作系统带来相当沉重的负担。 而且&#xff0c;每个进程具有独立的内存空间&#xff0c;所以进程间通信的实现难度也会随之提高。 同时&#xff0c;上下文切换&#xff08;Cont…

cmd:读取电脑硬件序列号

一、读取电脑硬件序列号 1.cmd 在没有使用第三方库的情况下&#xff0c;要读取电脑的硬件序列号通常需要使用操作系统提供的工具或命令行。以下是一个示例&#xff0c;展示如何使用Windows操作系统的命令行工具 wmic 来获取硬件序列号&#xff1a; 打开命令提示符&#xff0…

尚硅谷Flink(三)时间、窗口

1 &#x1f3b0;&#x1f3b2;&#x1f579;️ &#x1f3b0;时间、窗口 &#x1f3b2;窗口 &#x1f579;️是啥 Flink 是一种流式计算引擎&#xff0c;主要是来处理无界数据流的&#xff0c;数据源源不断、无穷无尽。想要更加方便高效地处理无界流&#xff0c;一种方式就…

【Linux学习笔记】代码编辑工具vim

1. vim工具基本模式的转换2. vim命令模式下的各种编辑命令2.1. 光标行定位2.2. 光标自由定位2.3. 复制粘贴2.4. 删除2.5. 文本的大小写替换2.6. 文本的替换2.7. 文本的前删后删2.8. 撤销操作 3. vim底行模式下的命令3.1. 设置行号与取消设置行号3.2. 分屏操作3.3. 在不退出vim的…

Postman简单使用

文章目录 一.接口测试流程二、Postman接口测试工具三、接口关联四、全局变量和环境变量 一.接口测试流程 拿到API接口文档&#xff08;从开发拿或者抓包获取&#xff09;&#xff0c;熟悉接口业务&#xff0c;接口地址&#xff0c;错误码等等 编写接口的测试用例以及评审 编写…

SSL证书续费要如何操作

SSL证书一旦到期&#xff0c;网站会立即无法访问&#xff0c;而且会提出不安全警告&#xff0c;如果是电商或者品牌网站影响还是很大的。 SSL证书和域名续费有很大区别&#xff0c;域名续费只要交钱就可以了&#xff0c;SSL证书续费还需要认证和更新服务器SSL证书文件才算收工…

【多线程】JUC(java.util.concurrent)的常见类 信号量 线程安全的集合类

目录 1. Callable接口 1.1 Callable接口和Runnable接口的区别&#xff1f; 1.2 使用Callable接口编写代码。 2. ReentrantLock 可重入锁 3.信号量 semaphore 3.1 Java中信号量的使用 4.CountDownLatch JUC: java.util.concurrent -> 这个包里的内容主要是一些多线程…

智能变电站自动化系统的应用与产品选型

摘要&#xff1a;现如今&#xff0c;智能变电站发展已经成为了电力系统发展过程中的内容&#xff0c;如何提高智能变电站的运行效率也成为电力系统发展的一个重要目标&#xff0c;为了能够更好地促进电力系统安全稳定运行&#xff0c;本文则就智能变电站自动化系统的实现进行了…

青藏高原连续日光诱导叶绿素荧光数据集(2000-2018)

简介&#xff1a; 青藏高原连续日光诱导叶绿素荧光数据集&#xff08;2000-2018&#xff09;是通过MODIS各通道反射率和SIF观测数据建立神经网络模型&#xff0c;从而得到较高时空分辨率的SIF数据&#xff0c;常作为初级生产力的参考。前言 – 人工智能教程 源数据范围为全球&…

网工实验笔记:MQC原理与配置

一、概述 MQC&#xff08;Modular QoS Command-Line Interface&#xff0c;模块化QoS命令行&#xff09;是指通过将具有某类共同特征的数据流划分为一类&#xff0c;并为同一类数据流提供相同的服务&#xff0c;也可以对不同类的数据流提供不同的服务。 MQC三要素 流分类&am…

15-k8s-高级存储之pv与pvc

文章目录 一、相关概念二、创建pv二、创建pvc三、创建pod调用pvc四、StorageClass动态制备pv 一、相关概念 关系 生命周期相关概念 2.1 静态构建&#xff1a;集群管理员创建若干PV卷。这些卷对象带有真实存储的细节信息,并且对集群用户可用(可见)。PV卷对象存在于Kubernetes …

摩尔信使MThings的设备高级参数

摩尔信使MThings支持三级参数管理方案&#xff0c;依次为&#xff1a;数据级、设备级、通道级。 设备级参数不仅包含设备名称、设备地址等常用信息&#xff0c;同时提供了诸多高级参数&#xff0c;其同样是为了满足不同用户应用场景中所面临的差异化需求&#xff0c;以更加灵活…

勒索病毒LockBit2.0 数据库(mysql与sqlsever)解锁恢复思路分享

0.前言 今天公司服务器中招LockBit2.0勒索病毒&#xff0c;损失惨重&#xff0c;全体加班了一天基本解决了部分问题&#xff0c;首先是丢失的文件数据就没法恢复了&#xff0c;这一块没有理睬&#xff0c;主要恢复的是两个数据库&#xff0c;一个是16GB大小的SQLserver数据库&…

安徽阳光心理测量平台目录遍历

安徽阳光心理测量平台目录遍历 FOFA指纹 title"心理测量平台"漏洞复现 路由后拼接/admin/UserFiles/ GET /admin/UserFiles/ HTTP/1.1 Host: {{Hostname}}修复方案 针对路径设定对应权限

注释的重要性与程序员的责任

注释的重要性与程序员的责任 提升代码可读性促进团队协作提高代码可维护性传承知识和经验代码的责任推荐学习 导语&#xff1a;在编写代码的过程中&#xff0c;注释是程序员们经常讨论的话题。有人认为忽视注释等于耍流氓&#xff0c;但也有人觉得注释只是浪费时间。本文将探讨…

软件开发项目文档系列之三如何撰写项目招标文件

前言 招标文件在采购过程中扮演着至关重要的角色&#xff0c;其主要目的是提供清晰而详尽的信息&#xff0c;以确保采购项目的需求得以明确&#xff0c;潜在的投标单位能够清晰理解并遵守相关要求&#xff0c;并最终为采购方提供一个有力的依据来评估和选择最合适的承建单位。…

c++之new和delete

前言 在本文中&#xff0c;您将学习使用new和delete操作在C 中有效地管理内存。 数组可用于存储多个同类型数据&#xff0c;但是使用数组存在严重的缺点。声明数组时应分配内存&#xff0c;但在大多数情况下&#xff0c;直到运行时才能确定所需的确切内存。在这种情况下&#…

python每日一练(8)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…