初识MySQL

news/2024/7/9 21:50:16 标签: mysql, 数据库, postgresql

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

文章目录

什么是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 数据库 来删除数据库
在这里插入图片描述
记得删除数据库的时候一定要小心哦,小心一副银手镯送到你家里来哦。


http://www.niftyadmin.cn/n/371489.html

相关文章

猜解一个协议

最近想自己写个代码读取一个IC卡读卡器。 从USBHID中读出的厂商是: NSCCN 产品是: wCopy Smart Reader 然后想编码读出IC卡的数据,但我不知道硬件所遵循的协议,偿试抓取USB数据包…

Python:asyncio.wait 和 asyncio.gather 总结

0.协程理解: Future future是一个数据结构,表示还未完成的工作结果。事件循环可以监视Future对象是否完成。从而允许应用的一部分等待另一部分完成一些工作。Future 获取Futrue里的结果 future表示还没有完成的工作结果。事件循环可以通过监视一个future对象的状…

【力扣周赛】第347场周赛

【力扣周赛】第347场周赛 6457. 移除字符串中的尾随零题目描述解题思路 2711. 对角线上不同值的数量差题目描述解题思路 6455. 使所有字符相等的最小成本题目描述解题思路 6456. 矩阵中严格递增的单元格数题目描述解题思路 6457. 移除字符串中的尾随零 题目描述 描述&#xf…

如何选择适合平台的直播美颜SDK:从技术和商业角度考虑

直播美颜SDK作为一种技术解决方案,可以帮助直播应用实现优秀的美颜效果,提高用户体验和粘性。然而,如何选择适合你应用的直播美颜SDK,需要从技术和商业角度综合考虑。本文将从这两个角度出发,为你介绍如何选择适合你应…

[转]Github进行fork后如何与原仓库同步

问题场景: 新公司要求所有的代码提交都要先通过自己的库提交到主repo上去,所以先在gitlab网页上fork出一个自己的库,在本地修改完代码后提交到远程自己库上,然后在gitlab网页上发起一个merge request请求,然后等待主r…

docker可视化管理工具portainer忘记密码重置教程

目录 前言: 1 停止portainer容器 2 借助仓库 portainer/helper-reset-password 重置密码 3 重新启动portainer容器 4 验证是否修改成功 5 修改登录密码 前言: 由于学习的深入,各种账号密码实在是太多了,建议各位配置账号密…

热榜!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

最近很多粉丝朋友私信我说:熬过了去年的寒冬却没熬过现在的内卷;打开Boss直拒一排已读不回,回的基本都是外包,薪资还给的不高,对技术水平要求也远超从前;感觉Java一个初中级岗位有上千人同时竞争&#xff0…

2023年上半年软件设计师考试中级真题答案+解析(详细版)

目录 背景过程计算机组成原理产权保护结构化开发方法 总结 背景 2023年软考讲解 软考(软件技术人员职业资格考试)是中国的一项职业资格考试,主要针对软件行业从业人员。软考的主要目标是评估考生在软件开发、软件测试、软件项目管理等方面的…