【MySQL】MySQL基础

news/2024/9/17 9:15:22/ 标签: mysql, 数据库

目录

  • 什么是数据库
  • 主流数据库
  • 基本使用
    • MySQL的安装
    • 连接服务器
    • 服务器、数据库、表关系
    • 使用案例
    • 数据逻辑存储
  • MySQL的架构
  • SQL分类
  • 什么是存储引擎

什么是数据库

在这里插入图片描述

  1. mysql它是数据库服务的客户端
  2. mysqld它是数据库服务的服务器端
  3. mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务

所以mysql是一套给我提供数据存取的服务的网络程序

数据库一般指的是在磁盘或者内存中存储的特定结构组织的数据,将来在磁盘上存储的一套数据库方案。

我们知道文件也可以存储数据,那我们为什么还要使用数据库进行数据存储呢?
一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力(用户角度)
所以数据库的本质:对数据内容存储的一套解决方案,你给我字段或者要求,我直接给你结果就行。

以上都是一整套的数据库的一个存储解决方案!!!
在这里插入图片描述

主流数据库

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

基本使用

MySQL的安装

在安装MySQL之前建议先去查看当前linux系统的版本,版本越新的系统最好搭配越新的MySql。如果你是ubuntu系统,直接使用指令sudo apt install mysql-server就可以安装了。这是因为ubuntu内置了最新版本的MySql。

连接服务器

在这里插入图片描述

  • -h:-h选项后跟ip地址,因为我们的mysql其实是一种网络服务,我们完全可以进行远程连接,这里我们跟127.0.0.1是本地式的连接。
  • -P:-P选项后跟端口号。
  • -u:-u后跟用户名。
  • -p:-p后跟密码,不跟也可,我们进行了配置,无需输入密码。
  • 其实在本地连接mysql时-h、-P都不需要带上即可,因为内部已经进行了配置,内部会自动给我们连接上。
    在这里插入图片描述
    连接上mysql后,如果想退出输入 quit 即可。

服务器、数据库、表关系

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

使用案例

创建数据库

create database helloworld;

在这里插入图片描述
使用数据库

use helloworld;

在这里插入图片描述
创建数据库

create table student(name varchar(32),age int,gender varchar(2));

在这里插入图片描述

insert into student (name, age, gender) values ('张三', 12, '男');
insert into student (name, age, gender) values ('李四', 13, '女');
insert into student (name, age, gender) values ('王五', 14, '男');

在这里插入图片描述
查询表中的数据

select * from student;

在这里插入图片描述
mysql创建的数据库一般会存放在/var/lib/mysql目录下,并且我们可以看到,数据库本质是一个文件目录。
在这里插入图片描述
查看当前数据库

show databases;

在这里插入图片描述

数据逻辑存储

在这里插入图片描述
数据明显是按像Excel表格那样,按行列存储的!!!

MySQL的架构

在这里插入图片描述

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

什么是存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。我们输入的sql指令最后都是由存储引擎来实现的。并且,MySQl针对不同的场景,提供了不同的存储引擎。这种插件式存储引擎使得MySQL更加灵活且高效。
我们常使用show engines来查看存储引擎。
在这里插入图片描述
其中呢InnoDB存储引擎是最常用的,其次是MyISAM。这些引擎目前了解即可。


http://www.ppmy.cn/news/1522854.html

相关文章

IDEA插件推荐-SequenceDiagram,自动生成时序图

SequenceDiagram插件是一种用于绘制时序图的工具。时序图是一种图形化的表示对象之间消息传递顺序的方法。 该插件可以在使用各种编程语言编写代码时,方便地绘制时序图,以帮助开发者更好地理解和描述系统中的交互流程。 SequenceDiagram插件体验&#x…

字符串操作的高效工具—正则表达式

字符串操作的高效工具—正则表达式 一 . 概述1.1 认识正则表达式1.2 正则表达式体验案例 二 . 使用2.1 字符类2.2 逻辑运算符2.3 预定义字符2.4 数量词2.5 分组括号2.6 字符串中常用含有正则表达式的方法 正则表达式(Regular Expression,简称 regex 或 r…

《论面向方面的编程技术及其应用》写作框架,软考高级系统架构设计师

论文真题 随着社会信息化进程的加快,计算机及网络已经被各行各业广泛应用,信息安全问题也变得愈来愈重要。它具有机密性、完整性、可用性、可控性和不可抵赖性等特征。信息系统的安全保障是以风险和策略为基础,在信息系统的整个生命周期中提…

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

Course1-Week1: https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Supervised%20Machine%20Learning%20Regression%20and%20Classification/week11️⃣线性回归(linear regression) f w , b ( x ) w x b f_{w,b}(x) wx b …

85、 探针

一、pod的进阶 pod的进阶: 1.1、pod的生命周期当中的状态: 1、Running运行中,pod已经分配到节点上且pod内的容器正常运行。正常状态(ready 1/1)。 2、complete:完成之后退出,容器内的返回码…

python获取音频文件采样率的方法

在 Python 中,你可以使用多种库来获取音频文件的采样率(sampling rate)。常见的音频文件格式包括 .wav、.mp3、.flac 等。对于不同的音频文件格式,可以使用不同的库来处理。以下是一些常见的库和对应的方法: 1. 使用 w…

pytest压力测试:不断发送数据,直到发现数据丢失

示例场景 假设有一个 send_data 函数接受数据并返回成功或失败的状态。 创建一个测试用例,通过逐步增加数据量来测试这个函数,直到返回失败为止。 步骤 定义压力测试函数 定义一个函数。不断发送数据,直到发现数据丢失。 创建 pytest 测试…

电脑驱动分类

电脑驱动程序(驱动程序)是操作系统与硬件设备之间的桥梁,用于使操作系统能够识别并与硬件设备进行通信。以下是常见的驱动分类: 1. 设备驱动程序 显示驱动程序:控制显卡和显示器的显示功能,负责图形渲染和…

Java并发编程实战 07 | 如何正确停止线程

什么时候需要停止一个线程? 一个线程被创建并启动之后,大部分情况下都会自然运行至结束,但是也有一些情况需要主动停止线程,比如: 用户主动取消执行:用户可能会中止一个正在进行的操作,这时需…

python---爬取QQ音乐

如Cookie为非vip,仅能获取非vip歌曲 1.下载包 pip install jsonpath 2.代码 import os import time import requests from jsonpath import jsonpathdef search_and_download_qq_music(query_text):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; …

网络层ip协议

一.概念 ip协议主要是为了在复杂的网络环境中确定一个合适的路径来传输主机间的数据。简单来说就是用来确定主机的位置。 ip协议中的一些设备如下: 主机: 配有 IP 地址, 但是不进行路由控制的设备;路由器: 即配有 IP 地址, 又能进行路由控制;节点: 主机和路由器的统…

vue多环境配置和打包

件名的后缀来指定它们仅在特定模式下被加载。 .env:所有环境下都会加载的通用配置。 .env.local:本地覆盖配置,不加入版本控制。 .env.[mode]:仅为指定的模式加载的配置文件,例如.env.development、.env.production、…

Claude Enterprise推出计划

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

探究零工市场小程序如何改变传统兼职模式

近年来,零工市场小程序正逐渐改变传统的兼职模式,为求职者和雇主提供了一个更为高效、便捷的平台。本文将深入探讨零工市场小程序如何影响传统兼职模式,以及它带来的优势和挑战。 一、背景与挑战 传统的兼职市场往往存在信息不对称的问题&am…

本地Gitblit使用

首先创建一个本地的gitblit的服务,创建流程如下: 【GitBlit】Windows搭建Git服务器详细教程_搭建gitblit服务-CSDN博客 GitBlit的使用教程-CSDN博客 创建好一个仓库后,分配好用户权限,再将项目拉下来,这里是再visua…

C++如何创建一个单例模式的类

单例模式(Singleton Pattern)是一种创建型设计模式,其核心目的是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。单例模式通常用于管理共享资源,如配置文件、线程池、缓存等。在C中,创建一个…

页面小组件-表格封装(基础版)

说明 这一版封装的主要原因是当时有很多报表&#xff0c;数据列很多很多&#xff0c;基本在二十个左右。相应领导安排简洁代码&#xff0c;也为了偷懒&#xff0c;直接插槽循环搞起。其余是为了统一样式修改。 组件源码 <template><el-tablev-loading"loading…

DML、DQL、DCL的基础介绍

1.DML、DQL、DCL 1.1DML-介绍 DML英文全称Data Manipulation Language&#xff08;数据操作语言&#xff09;&#xff0c;用来对数据库中表的数据记录进行增删改操作 添加数据&#xff08;INSERT&#xff09;修改数据&#xff08;UPDATE&#xff09;删除数据&#xff08;DEL…

docker 启动容器报错 Error response from daemon: network XXX not found

华为的云服务器,重启后启动容器报上述错误 可能是容器依赖的网络被删除了 查看现有网络 docker network ls docker run -it \-p 80:80 \-p 443:443 \--name nginx \--network app --hostname nginx \-e TZAsia/Shanghai \--add-host adminJar:192.168.0.169 \-v /guazai/do…

比特币客户端和API

1. 比特比客户端的安装 Bitcoin Core 客户端适用于从 x86 Windows 到 ARM Linux 的不同架构和平台&#xff0c;如下图所示&#xff1a; 2. Bitcoin Core客户端的类型 2.1 Bitcoind Bitcoind 末尾的字母 d 表示 daemon (守护程序&#xff09;。所谓守护程序&#xff0c;就是指常…