Mysql——初识Mysql

news2024/9/24 22:21:45

目录

 数据库基础

 创建数据库

服务器,数据库,表关系 

 数据逻辑存储

 MySQL架构

 SQL分类

存储引擎 


mysql服务端是一个网络服务器,采用的是TCP协议在应用层 ,mysql有自己的协议。

 数据库基础

         mysql不是数据库,是mysql的客户端,mysqld是数据库服务端。

 上图中以特定的格式保存好的文件,叫数据库(狭义上的概念)。

 mysql,mysqld和上图中的这些文件,为我们提供了较为便捷的数据的存取服务的软件的集合。

1. 什么是数据库
        存储数据用文件就可以了,为什么还要弄个数据库?
                文件保存数据有以下几个缺点:
                文件的安全性问题
                文件不利于数据查询和管理
                文件不利于存储海量数据
                文件在程序中控制不方便

        数据库的本质:对文件的内容提供基本的内容操作,不用程序员(用户)手动的进行数据管理。
        数据库存储介质:
                磁盘 内存


        为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
1.2 主流数据库
        SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
        Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
        MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
        PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
        SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
        H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

连接到服务器

mysql也有自己的服务端和客户端,并不是单机的

         mysql -h 127.0.0.1 -P 3306 -u root -p 

        -h本地IO,-P端口号,-u以哪个身份去登录,-p登录密码,这些都足以说明mysql是一套网络服务

 创建数据库

         创建一个数据库本质是在Linux上做什么?

        左边启动数据库,右边进入了数据库目录

 展示数据库 show databases;

 创建数据库 creat databases xxx;

在左侧创建了数据库,右侧就多了相应的文件

 建立数据库本质是在linux下建一个目录。

清屏:这是系统命令,不是mysql命令,system clear;

进入(使用)数据库 :use xxx;相当于linux下的cd,是mysqld进入了数据库。

如何确认当前已经使用了数据库: 

我们可以看到当前已经进入这个数据库里面了。 

         建表:create table xxx;建好表之后,右边的目录里会多出俩个文件,不同存储引擎对应的文件数不同,即创建表也是创建文件。

        查看表:show tables;

 查看表结构 desc xxx;

 

 插入数据insert into xxx...

查看插入的用户select *from xxx; 

         但是插入数据后,数据库文件中并没有新增文件,为了提高效率,我们把数据给了mysqld,mysqld不一定是立马把数据放到文件中,减少IO次数。

服务器,数据库,表关系 

         所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序(mysqld),这个管理程序可以管理多个数据库(linux的目录),一般开发人员会针对每一个应用创建一个数据库。
        为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下:

 mysql本质就是一个client,只不过是命令行的client。

mysql的生态中,也会提供第三方库,让语言也能直接访问mysql。

客户端可通过SQL语句向服务器发出请求。

 数据逻辑存储

 

 MySQL架构

        Linux上的mysql(数据库)是客户端,mysqld是数据库服务端,类似于xshell的sshd,如果要远程登录必须启动sshd,如果没启动sshd我们就无法远程登录。

        MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

   

        第一层:建立连接,第二层:语法解析 。

        第三层:该层是存储引擎层,获取到上层的sql指令之后,转化为各种文件系统的函数调用,这些存储引擎也需要管理,先描述,再组织,即这些存储引擎本质是一个类。

        系统角度:前三层是应用层的代码

        网络角度:应用层协议的一种

         最下面是OS。

 SQL分类

 DDL【data definition language】 数据定义语言,用来维护存储数据的结构
        代表指令: create, drop, alter
DML【data manipulation language】 数据操纵语言,用来对数据进行操作
        代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
        代表指令: grant,revoke,commit

存储引擎 

         存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
        MySQL的核心就是插件式存储引擎,支持多种存储引擎。

 查看存储引擎show engines;

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

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

相关文章

18.1 k8s服务组件之4大黄金指标讲解

本节重点介绍 : 监控4大黄金指标 Latency:延时Utilization:使用率Saturation:饱和度Errors:错误数或错误率 apiserver指标 400、500错误qps访问延迟队列深度 etcd指标kube-scheduler和kube-controller-manager 监控4大黄金指标 …

从手动测试菜鸟,到自动化测试老司机,实现自动化落地

虽然许多伙伴是一个测试老人了,但是基本上所有的测试经验都停留在手工测试方面,对于自动化测试方面的实战经验少之又少。 其实,究其原因:一方面是,自动化方面不求上进,觉得会手工测试就可以了,自…

【计算机基础】用bat命令将Unity导出PC包转成单个exe可执行文件

Unity打包成exe可执行文件 上边连接是很久以前用过的方法,发现操作有些不一样了,并且如果按上述操作比较麻烦,所以写了个bat命令。 图1、导出的pc程序 如图1是导出的pc程序,点击exe文件可运行该程序。 添加pack_project.bat文件 …

基于 SpringBoot 的在线考试系统

专业团队,咨询就送开题报告,欢迎大家私信留言,联系方式在文章底部 摘 要 网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合,利用java技术建设在线考试系统,实现在线考试的信息化管理。则对…

PX4固定翼控制器详解(五)——L1、NPFG控制器

之前已经讲解了TECS高度与速度控制器,今天是PX4固定翼控制器系列讲解的最后一期,主题是PX4的位置控制器。PX4 1.12及其之前的版本,使用的位置控制器为L1控制器。1.13及其之后的版本,PX4更新了NPFG控制器。NPFG控制器在较强风速下有…

活动目录安全

活动目录安全 1.概述2.常见攻击方式SYSVOL与GPP漏洞MS14-068漏洞Kerberoast攻击内网横移抓取管理员凭证内网钓鱼与欺骗用户密码猜解获取AD数据库文件 3.权限维持手段krbtgt账号与黄金票据服务账号与白银票据利用DSRM账号利用SID History属性利用组策略利用AdminSDHolder利用SSP…

宠物空气净化器去浮毛哪家强?希喂、美的和米家实测分享

要说养宠物后里最让我感到幸福感飙升的家电,必须是宠物空气净化器,没有之一。很多人都喜欢宠物,但应该没有人喜欢清扫,特别是家里宠物多,或者一群宠物在自己家聚在一起之后,要疯狂清除浮毛,真的…

剖解相交链表

相交链表 思路:我们计算A和B链表的长度,求出他们的差值(len),让链表长的先多走len步,最后在A,B链表一起向后走,即可相逢于相交节点 实现代码如下: public class Solution {public …

单链表进阶

之前已经介绍过单链表及其一些简单的功能 这次来简单介绍单链表一些的其他接口 1.在指定位置之前插入数据 具体原码,三个参数,phead是链表的指针,pos是节点的地址,x是需要插入的数据。 pos不能为空指针,因为pos为空…

React启动时 Error: error:0308010C:digital envelope routines::unsupported

错误信息: 错误原因:通常与 Node.js 的新版本中 OpenSSL 的默认行为变化有关。从 Node.js 17 开始,OpenSSL 默认启用了 OpenSSL 3.0 的一些新特性,这可能会影响到一些旧的或未更新的库。 解决办法:可以通过设置环境变…

基于STM32设计的室内育苗环境管理系统(物联网)

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 1.5 模块的技术详情介绍【1】ESP8266-WIFI模块【2】MQ135传感器【4】DHT11传感器【5】B1750传感器 …

【Diffusion分割】FDiff-Fusion:基于模糊学习的去噪扩散融合网络

FDiff-Fusion: Denoising diffusion fusion network based on fuzzy learning for 3D medical image segmentation 摘要: 近年来,去噪扩散模型在图像分割建模中取得了令人瞩目的成就。凭借其强大的非线性建模能力和优越的泛化性能,去噪扩散模…

Flexus X实例全方位指南:智能迁移、跨云搬迁加速与虚机热变配能力的最佳实践

目录 前言 一、云迁移关键挑战 1、企业实例选型关键挑战 2、云算力关键挑战之一 3、云算力关键挑战之二 二、本地IT及其他云搬迁到Flexus X实例上的独有优势 1、Flexus X实例超强性能,遥遥领先同规格友商实例 (1)底层多重调优&#x…

网络编程——TCP网络通信

通信步骤: 1、连接 2、传输数据 3、关闭连接服务端的创建流程: 1、创建服务端socket对象 socket_family:网络地址类型AF_INET--代表的是ipv4地址类型 socket_type:套接字类型SOCK_STREAM--代表的是tcp套接字SOCK_DGRAM--代表的是udp套接字 2、绑定自己的…

新房安装了约克VRF中央空调真的是明智的选择!

夏天越来越热,新房安装了中央空调真的是太明智了!当初装修时,考虑到家里空间大,我就决定装一个中央空调。对比了好多品牌后,朋友推荐了约克VRF中央空调。装好以后,简直惊喜不断!      强效除…

基于SpringBoot+Vue+MySQL的美食点餐管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 在数字化快速发展的今天,餐饮行业也迎来了转型升级的重要机遇。传统餐饮管理方式面临效率低下、顾客体验不佳等问题。为此,开发一款基于SpringBootVueMySQL架构的美食点餐管理系统显得尤为重要。该系统旨…

【Qualcomm】高通SNPE框架简介、下载与使用

目录 一 高通SNPE框架 1 SNPE简介 2 QNN与SNPE 3 Capabilities 4 工作流程 二 SNPE的安装与使用 1 下载 2 Setup 3 SNPE的使用概述 一 高通SNPE框架 1 SNPE简介 SNPE(Snapdragon Neural Processing Engine),是高通公司推出的面向移…

Leetcode尊享面试100题-252.会议室

给定一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] [starti, endi] ,请你判断一个人是否能够参加这里面的全部会议。 示例 1: 输入:intervals [[0,30],[5,10],[15,20]] 输出&#xff…

记录Mac编译Android源码踩过的坑

学习Android源码,如果电脑配置还不错,最好还是下载一套源码,经过编译后导入到Android Studio中来学习,这样会更加的直观,代码之间的跳转查看会更加方便。因此,笔者决定下载并编译一套源码,以利于…

【C++算法】链表

知识总结 常用技术: 1.画图!!——>直观形象便于理解 2.引入虚拟”头结点“ 便于处理边界情况方便对链表操作 3.不要吝啬空间,大胆定义变量 4.快慢双指针——判环、找链表中环的入口、找链表中倒数第n个节点 链表中的常用…