当前位置: 首页 > news >正文

初识MySQL

💕与其抱怨生活的不公,不如积极行动改变它。💕
🐼作者:不能再留遗憾了🐼
🎆专栏:MySQL学习🎆
🚗本文章主要内容:简单了解什么是MySQL、MySQL的发展以及简单的对库操作🚗
在这里插入图片描述

文章目录

  • 什么是MySQL
  • 什么是关系型数据库
  • 什么是非关系型数据库
  • MySQL数据库的发展史
  • MySQL是如何执行一条SQL查询语句的?
  • 在安装好MySQL环境后为什么会发生闪退
  • 简单的库操作
    • 1.查看数据库
    • 2.创建数据库
    • 3.选中数据库
    • 4.删除数据库

什么是MySQL

MySQL是一种流行的关系型数据库管理系统,最开始由MySQL AB公司推出,后由Oracle Corporation开发和支持,它是一种开源软件,广泛用于Web应用程序开发和数据存储。MySQL具有高度的可扩展性、可靠性和安全性,并提供了广泛的API和编程接口,使开发者能够轻松地使用各种编程语言与之交互。MySQL是Web开发者的首选数据库之一。

MySQL是一个客户端 - 服务器结构的程序,同时服务器是数据库的本体(数据是在服务器这里组织和存储的)。

什么是关系型数据库

关系型数据库是由关系型模型(即二维表格)构成的数据库,以及实现此种模型的软件系统。关系型数据库中的数据以表格的形式呈现,表格由行和列组成,每一列是一种数据类型,每一行代表一个实体,每一个实体则由一组属性组成。数据的整合和处理通过对表格之间的关系进行操作来实现。目前,关系型数据库是最广泛使用的数据库类型之一,常常被应用于企业级应用程序和数据处理任务中。常见的关系型数据库包括:MySQL、Oracle、SQL Server、PostgreSQL、IBM DB2、SQLite等

什么是非关系型数据库

非关系型数据库(NoSQL)是一种区别于传统关系型数据库模型的数据库系统,使用非结构化的数据存储方式,包括键值对存储、文档存储、列族存储和图形存储等。与关系型数据库相比,NoSQL数据库具有更高的可扩展性和性能,并且能够处理非结构化或半结构化的大量数据,不需要严格的数据模式和事务处理的支持,因此适合存储和处理分散的、非结构化的、动态和快速变化的数据。常见的NoSQL数据库包括MongoDB,Cassandra,HBase,Redis等。

MySQL数据库的发展史

  1. 1995-1997年,MySQL由Michael Widenius和David Axmark在瑞典创建。最初是一个很小的开源项目,用于个人及小型网站使用。

  2. 1998年,MySQL发布了版本3.2,并正式开始走向商业化发展道路。为了推广MySQL,公司开始提供商业支持和收费服务。

  3. 2001年,MySQL AB公司成立,开始以商业化运营方式发展MySQL,并凭借其高性能、稳定性和易用性,在Web应用开发领域逐渐成为流行的数据库系统。

  4. 2008年,Sun Microsystems公司收购了MySQL AB,MySQL变成了Sun公司的旗舰产品。

  5. 2010年,Oracle公司收购了Sun公司,MySQL成为了Oracle公司的旗舰产品。为了解决开源社区和商业用户之间的分歧,Oracle创建了MySQL Community版和MySQL Enterprise版两个版本,分别面向开源开发者和商业客户。

  6. 2013年,MySQL发布了5.6版本,增加了多种新功能和性能改进,进一步推进了MySQL的发展。

  7. 2018年,MySQL发布了8.0版本,引入了全新的功能和性能优化,扩展了MySQL在大数据、云计算、安全和高可用性方面的应用能力。

MySQL是如何执行一条SQL查询语句的?

当MySQL接收到一条SQL查询语句时,它会经过以下步骤进行执行:

  1. 语法分析:MySQL会检查语句的语法是否正确,如果存在语法错误,将会返回相应的错误信息。

  2. 查询优化:MySQL会对查询语句进行优化,以尽可能快地获取所需的结果。这个过程涉及到分析查询的每个组件,选择最佳的执行顺序,使用合适的索引等。

  3. 执行查询:一旦优化器选择了最佳执行计划,MySQL就会执行查询,并从磁盘或内存中读取所需的数据。如果查询需要进行排序、分组或其他操作,MySQL可能会创建临时表来存储中间结果。

  4. 返回结果:一旦查询完成,MySQL会将结果返回给客户端应用程序进行处理。

在这个过程中,MySQL会通过一系列的内部模块和算法来实现查询的各个部分。例如,MySQL的存储引擎模块负责从磁盘中读取数据,而查询缓存模块则可以缓存查询结果,以提高性能和响应速度。

在安装好MySQL环境后为什么会发生闪退

1.点击开始菜单

2.所有应用

3.找到MySQL,随便启动哪个都行
在这里插入图片描述

4.提示输入密码
在这里插入图片描述
在输入密码后如果发生闪退,我们可以通过以下操作来知道为什么会出现错误。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

简单的库操作

在这里插入图片描述
MySQL命令以 ;或者 \g 作为结束标志

1.查看数据库

使用 show databases; 查看已有的数据库
在这里插入图片描述
因为我这里并没有创建库,所以开始show databases是这样的,这个
4 rows in set(0.01 sec)表示上面的集合有4行,执行该命令用了0.01秒

2.创建数据库

使用 create database 数据库名; 来创建数据库
在这里插入图片描述
在创建数据库的时候我们需要注意以下几点:

1.database 不是 databases,因为查看数据库的时候不止一个,而你创建数据库的时候只能创建一个。

2.数据库的名字命名规则跟C语言、Java的变量命名规则类似。
数据库名字:数字,字母,下划线,不能以数字开头。

3.如果非要用关键字作为数据库的名字,那么需要使用`反引号把数据库名引起来。

在这里插入图片描述
如果我们直接拿关键字作为数据库名是会报错的,如果偏要以关键字作为数据库名,就需要使用 " ` "反引号将数据库名引起来。
在这里插入图片描述
4.创建数据库的时候,数据库名不能重复。

5.sql命令对大小写不敏感。

在这里插入图片描述
6.创建数据库的时候可以指定字符集。
create database mysql1 charset(characterset) utf8
character和charset都行

平时常用的字符集包括:
gbk 两个字节表示一个汉字
utf8 三个字节表示一个汉字(更通用)

3.选中数据库

使用 use 数据库名 来对某一数据库进行增删改查。

在这里插入图片描述

4.删除数据库

使用 drop database 数据库名 来删除数据库。
在这里插入图片描述
记得删除数据库的时候一定要小心哦,小心一副银手镯送到你家里来哦。

相关文章:

初识MySQL

💕与其抱怨生活的不公,不如积极行动改变它。💕 🐼作者:不能再留遗憾了🐼 🎆专栏:MySQL学习🎆 🚗本文章主要内容:简单了解什么是MySQL、MySQL的发展…...

内网渗透(八十五)之ADCS证书服务攻击

ADCS证书服务攻击 漏洞背景 2021年6月17日,国外安全研究员 Will Schroeder 和 Lee Christensen 共同发布了针对ADCS(Active Directory Certificate Service, 活动目录证书服务)的攻击手法。同年8月5日,在Black Hat 2021上 Will Schroeder 和 Lee CHristensen 对该攻击手法进…...

通过python封装1688图片搜索商品数据接口,拍立淘API接口

1688图片搜索API封装接口是一个可以帮助用户快速使用1688图片搜索API的接口封装库。该接口封装库可以帮助用户快速引入1688图片搜索API,并提供各种参数配置和封装的API调用方法,以方便用户快速实现自己的图片搜索需求。 该接口封装库将1688图片搜索API的…...

HashMap的源码分析(基于JDK1.8)

HashMap的源码分析(基于JDK1.8) Java中的HashMap是一种常用的数据结构,它是基于哈希表的数据结构,可以用来存储键值对。在HashMap中,每个键值对被称作一个Entry,每个Entry包含一个键和一个值。HashMap的实…...

算法能力-数据安全复合治理框架和模型解读(5)

数据治理,数据安全治理行业在发展,在实践,所以很多东西是实践出来的,哪有什么神仙理论指导,即使有也是一家之说,但为了提高企业投产比,必要的认知是必须的,落地数据安全治理科技水平差异直接决定产品和项目是否可持续性,当前和未来更需要专业和有效创新。数据安全治理…...

java从入门到起飞——基础概念

目录 背景注释和关键字注释关键字 常量变量数据类型计算存储单元数据类型分类 标识符小驼峰命名法(方法、变量)大驼峰命名法(类) 类型转换自动类型转换强制类型转换 计算机中的数据存储总结 背景 学编程这么长时间了,重…...

C语言判断队列满or空

1 静态数组队列 循环队列通常使用数组来实现,判别循环队列是否满或空,可以借助两个变量front和rear。 判空:当front和rear相等时,队列为空。 判满:当(front 1) % n rear时,队列为满,其中n为…...

系统中级集成项目管理工程师(中项)好考吗?

软考系统集成项目管理工程师是一项非常重要的考试,对于从事信息技术和管理方面的人员来说,这是一个非常有用的证书。 对于零基础的考生来说,软考系统集成项目管理工程师是否好考,主要取决于他们的学习态度和学习方法。 一般而言…...

【Java多线程进阶】CAS机制

前言 CAS指的是Compare-And-Swap(比较与交换),它是一种多线程同步的技术,常用于实现无锁算法,从而提高多线程程序的性能和扩展性。本篇文章具体讲解如何使用 CAS 的机制以及 CAS 机制带来的问题。 目录 1. 什么是CAS&…...

flex布局总结

flex布局总结 总结自:https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 内容: flex意思是-弹性布局,可以为盒型模型提供极大的灵活性,设置为flex布局后,子元素的fload clear vertical会失效 概念&#x…...

2023 Idea 热部署 JRebel 插件激活方法

2023 Idea 热部署 JRebel 插件激活方法 1. 下载源代码 进入下面 github 地址 clone 代码到本地 https://github.com/Byron4j/JrebelLicenseServerforJava 2. 编译和打包 cd /Users/daixiaohu/Desktop/JrebelLicenseServerforJavamvn clean package3. 运行项目 cd target/jav…...

Java (韩老师课程)第三章

变量的介绍 * 变量是程序的基本组成单位 * 变量相当于内存中一个数据存储空间的表示 * 变量在该区域有自己的名称和类型 * 变量必须先声明,后使用,即顺序 * 变量在该区域的数据/值可以在同一类型内不断变化 * 变量在同一个作用域中不能重…...

【P38】JMeter 随机控制器(Random Controller)

文章目录 一、随机控制器(Random Controller)参数说明二、测试计划设计2.1、测试计划一2.2、测试计划二2.3、勾选忽略子控制器块 一、随机控制器(Random Controller)参数说明 可以让控制器内部的逻辑随机执行一个,一般…...

API电商 ERP 数据管理

没有 API,应用之间的通信将会被扼杀;软件开发者将不断重写并执行相同功能的软件;创新的脚步将会放缓。 API 随处可见。大到一个软件系统,小到几行程序,只要具备了一定的特征,都可以被称作 API。那么&#…...

【SQLAlchemy】第四篇——事务

可以把事务理解为一系列操作的集合:这些操作要么全部执行,要么一个也不执行——这样就可以保证数据的一致性和可靠性。在执行更新和删除操作时,尤其要注意利用事务的这个特征。 SQLAlchemy中提供了许多方法来利用事务。 1、如何确保操作生效…...

浅谈QMap中erase与remove的区别

QMap中erase与remove的区别 QMap中erase与remove的区别分别使用erase和remove删除元素使用erase删除元素使用remove删除元素代码讲解 QMap中erase与remove的区别 在实践中发现erase删除元素之后,其迭代器自动指向下一个元素,而remove删除元素之后迭代器…...

FastThreadLocal 原理解析

FastThreadLocal 每个 FastThread 包含一个 FastThreadLocalMap,每个 FastThreadLocalThread 中的多个 FastThreadLocal 占用不同的索引。每个 InternalThreadLocalMap 的第一个元素保存了所有的 ThreadLocal 对象。之后的元素保存了每个 ThreadLocal 对应的 value …...

设计模式B站学习(一)(java)

这里写目录标题 一、设计模式概述1.1 软件设计模式的产生背景1.2 软件设计模式的概念1.3 学习设计模式的必要性1.4 设计模式分类 二、UML图2.1 类图概述2.2 类图的作用2.3 类图表示法2.3.1 类图表示方法2.3.2 类与类之间关系的表示方法2.3.2.1 关联关系2.3.2.2 聚合关系2.3.2.3…...

Pandas如何轻松按位置删除多重索引列?

在Pandas处理DataFrame数据的过程中,我们常常需要删除某些不需要的列。那么,如何高效地按位置删除Pandas DataFrame的多重索引列呢? 今天分享在Pandas中按位置删除多重索引列的具体方法: 第一步:获取所有列标签 使用df.columns获取DataFrame的所有列标…...

第五十七天学习记录:C语言进阶:结构体链表的自学

先展示一段代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> #include <stdlib.h>// 定义链表节点结构体 typedef struct Node {int value;struct Node* next; } Node;int main() {// 创建链表头指针Node* head (Node*)malloc(sizeof(Node…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...