2024年MySQL学习指南(一),探索MySQL数据库,掌握未来数据管理趋势

文章目录

  • 前言
  • 1. 数据库的相关概念
    • 1.1 数据
    • 1.2 数据库
    • 1.3 数据库管理系统
    • 1.4 数据库系统
    • 1.5 SQL
  • 2. MySQL数据库
    • 2.1 MySQL安装
    • 2.2 MySQL配置
      • 2.2.1 添加环境变量
      • 2.2.2 新建配置文件
      • 2.2.3 初始化MySQL
      • 2.2.4 注册MySQL服务
      • 2.2.5 启动MySQL服务
    • 2.3 MySQL登录和退出
    • 2.4 MySQL卸载
    • 2.5 MySQL数据模型
  • 3. SQL语句
    • 3.1 SQL简介
    • 3.2 通用语法
    • 3.3 SQL分类

前言

这是一篇 MySQL 通关一篇过硬核经验学习路线,包括数据库相关知识,SQL语句的使用,数据库约束,设计等。整理的初衷是为了记录自己的成长,同时帮助到需要学习和查看的朋友。

1. 数据库的相关概念

1.1 数据

数据是指数据库中存储的基本对象,是描述事物的符号记录。

1.2 数据库

数据库是指存放数据的仓库,长期存放在计算机内的有组织可共享的数据集合。

在这里插入图片描述

数据库技术解决了数据的持久化存储问题,同时利用数据库管理系统解决了对大量数据操作繁琐的问题。

1.3 数据库管理系统

数据库管理系统是指位于用户和操作系统之间的一层数据管理软件,科学的组织和存储,高效的获取和维护。

在这里插入图片描述

我们所说的 MySQL 数据库就是指 MySQL 数据库管理系统,在大家日常的使用习惯中把他叫做 MySQL 数据库。在我们的电脑安装好数据库管理系统软件以后就可以创建数据库来管理数据,同时也可以对数据库中的数据进行增删改查的操作。

1.4 数据库系统

数据库,数据库管理系统,应用程序和数据库管理员共同组成了数据库系统

1.5 SQL

SQL的英文是 Structured Query Language,简称 SQL,是一种操作关系型数据库的结构化查询语言,我们在操作数据库时经常用到的操作就是查询操作。

SQL定义了操作所有关系型数据库的统一标准,可以使用 SQL 操作所有的关系型数据库管理系统,在使用其他的数据库管理系统时,也同样可以使用 SQL 来操作。

2. MySQL数据库

2.1 MySQL安装

MySQL有很多的安装方式,这里可以使用绿色版,避免了安装版的一些繁琐的操作,直接在官网下载与自己电脑相对应的版本的压缩文件,然后将压缩文件解压到一个非中文的目录中。

在这里插入图片描述
这里选择下载的产品版本是 5.7.24 ,原因是各个库支持的最完善且相对于最新版本更加的稳定。

2.2 MySQL配置

2.2.1 添加环境变量

在这里插入图片描述

右键此电脑 / 属性 / 高级系统设置 / 环境变量 ,在系统变量中新建变量,命名为 MYSQL_HOME,变量值为刚才 MySQL 的存放路径。

双击系统变量中的 Path,值为 %MySQL_HOME%\bin 。添加环境变量的方式与前面学习配置 Java 环境变量大致相同。

那么,我们为什么要先配置环境变量呢?

平时,我们在命令行窗口中输入一个可执行程序的命令时,Windows 会先在环境变量中的Path所指的路径中寻找,如果找到就直接执行,没找到就在当前工作目录中寻找,如果还没找到,就会报错。

我们添加环境变量的目的就是能够在任意路径下运行配置了环境变量的程序,而不用总是修改工作目录,大大简化了操作。

我们如何验证添加环境变量成功呢?

此时,我们只需要以管理员身份运行命令提示符工具,执行 mysql,如果提示 Can't connect to MySQL server on 'localhost',则环境变量添加成功。

注:此时必须以管理员身份运行命令提示符工具,否则会报错。

2.2.2 新建配置文件

在MySQl的根目录中创建一个配置文件 my.ini ,其内容为:

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

主要目的是配置数据库的默认编码集为utf-8和默认存储引擎为INNODB

2.2.3 初始化MySQL

在命令提示符窗口中运行mysqld --initialize-insecure,如果没有出现报错,则证明data目录初始化成功。

mysqld --initialize-insecure

此时当我们再打开查看MySQL目录,已经有data目录生成。

2.2.4 注册MySQL服务

在命令提示符窗口中运行 mysqld -install,此时你的电脑就成功注册了MySQL服务,此时你的电脑就可以称为MySQL服务器。

mysqld -install

2.2.5 启动MySQL服务

在命令提示符窗口中运行net start mysql,此时,我们已经成功启动MySQL服务。

net start mysql

运行net stop mysql即可停止MySQL服务。

net stop mysql

可以通过运行mysqladmin -u root password 1234修改默认账户密码,这里的1234指默认管理员(即root账户)的密码。

mysqladmin -u root password 1234

2.3 MySQL登录和退出

在命令行中运行mysql -uroot -p,按照提示输入密码 ,即登录成功。

mysql -uroot -p密码

登录命令中的参数:

mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -P端口号(默认3306)

退出MySQL时:

exit
quit

2.4 MySQL卸载

我们只需要简单的三步就可以完成MySQL的卸载:

第一步:运行net stop mysql

net stop mysql

第二步:运行mysqld -remove mysql

mysqld -remove mysql

第三步:删除MySQL目录及相关的环境变量。

2.5 MySQL数据模型

MySQl 是一个关系型数据库。关系型数据库是建立在关系模型基础上的数据库,简单来说,关系型数据库是由多张能互相连接的二维表组成的数据库。

与关系型数据库对应的是非关系型数据库,关系型数据库有很多的优点,例如,都是使用表结构,格式一致,易于维护。使用通用的 SQL 语言操作,方便快捷,可用于复杂查询等。

image-20230118150205180

我们通过客户端可以用数据库管理系统创建数据库,在数据库中创建表,在表中添加数据。创建的每一个数据库对应到磁盘上都是一个文件夹,而一个数据库下可以创建多张表,文件夹中的 .frm 就是表文件,.MYD是数据文件,通过这两个文件就可以查询到数据展示成二维表的效果。

3. SQL语句

3.1 SQL简介

SQL被称为结构化查询语言,可以用于对所有的关系型数据库进行操作,即我们可以通过SQL语句对数据库、表、数据进行增删改查操作。

SQL定义了操作关系型数据库的统一标准,但是,对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方。

3.2 通用语法

在这里插入图片描述

MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

SQL 语句可以单行或多行书写,以分号结尾。

注释:

  1. 单行注释: – 注释内容 或 #注释内容(MySQL 特有)

  2. 多行注释: /* 注释 */

3.3 SQL分类

在这里插入图片描述

DDL: 数据定义语言,用来定义数据库对象:数据库,表,列等

DML: 数据操作语言,用来对数据库中表的数据进行增删改

DQL:数据查询语言,用来查询数据库中表的记录(数据)

DCL:数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

数据是数据库中非常重要的部分,所以在日后的操作中我们最常进行的是对数据的一些操作,即对数据进行怎删改查,所以最常用操作的是 DMLDQL

总的来说DML用于对数据增删改,DQL用于对数据查询操作,DDL用于操作数据库,而DCL是用来控制权限。 SQL 的基本操作一般是指对数据库,数据表,数据的增删改查。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

01-03

利用模板类完成顺序表

ExecutorCompletionService详解

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 文章目录 摘要ExecutorCompletionService适用场景ExecutorCompletionService使用ExecutorCompletionService原理解析注意事项总结 摘要 ExecutorCompletionService 是Jav…

花为缘享奢体验中心,轻创业最佳选择

公开数据显示,中国市场上近10年奢侈品存量近4万亿,但二奢流转率仅为5%,相比于日本、美国接近30%的流转率,差距巨大。二奢行业下隐藏着一个万亿级市场,个人如何实现奢侈品创业,花为缘享奢体验中心为你服务。…

Python中的垃圾回收机制是什么

一、写在前面: 我们都知道Python一种面向对象的脚本语言,对象是Python中非常重要的一个概念。在Python中数字是对象,字符串是对象,任何事物都是对象,而它们的核心就是一个结构体--PyObject。 typedef struct_object{i…

瞬态抑制二极管(TVS)的注意事项与布局布线?|深圳比创达电子

一、瞬态抑制二极管(TVS)的注意事项 工作电压/反向截止电压(VRVRWM)此参数不需要降额,保证大于等于工作电路最大工作电压即可,越接近越好。该参数为TVS的固有参数。VBR是TVS固有参数,与外界冲击波形无关。 被保护器件…

分布式(8)

目录 36.什么是TCC? 37.分布式系统中常用的缓存方案有哪些? 38.分布式系统缓存的更新模式? 39.分布式缓存的淘汰策略? 40.Java中定时任务有哪些?如何演化的? 36.什么是TCC? TCC&#xff08…

低代码技术:颠覆数据孤岛的技术利器

在当今数据驱动的世界中,数据的价值无可忽视。然而,很多组织面临一个普遍的问题,即数据孤岛。数据孤岛指的是不同部门或系统之间无法有效共享和集成数据的情况。这限制了组织在数据驱动的决策和创新方面的能力。然而,低代码平台的…

雍禾植发成毛发行业标杆!雍禾医疗获“年度医疗大健康消费企业”

近期,以“新视野 新链接”为主题的2023 EDGE AWARDS全球创新评选榜单正式发布。该评选由钛媒体发起,聚焦大健康产业,由权威行业专家、王牌分析师、专业投资机构、用户代表共同评审,兼顾综合专业性、影响力、创新性三大维度评选而出…

2024 年加密货币领域需要注意的 5 大网络安全威胁

加密货币世界主要存在于数字领域,面临着众多不断变化的网络威胁,这些威胁所带来的风险,给个人和企业组织造成了重大损失。 本文将研究2023年年加密货币领域的一些关键网络安全趋势,这些趋势预计将持续到 2024 年,并对…

为什么大学c语言课不顺便教一下Linux,Makefile

为什么大学c语言课不顺便教一下Linux,Makefile,git,gdb等配套工具链呢? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Linux的资料从专业入门到高级教程工具包」&…

kubeadm来快速搭建一个K8S集群

二进制搭建适合大集群,50台以下的主机 kubeadm更适合中下企业的业务集群 我们采用了二进制包搭建出的k8s集群,本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群,kubeadm更适合中小型企业的集群…

Matplotlib基础

目录: 一、绘制函数图像:二、创建图形对象:三、绘制多子图: 一、绘制函数图像: from matplotlib import pyplot as plt import numpy as np #生成(-50,50)的数组 x np.arange(-50,50) #计算因…

SSM的校园二手交易平台----计算机毕业设计

项目介绍 本次设计的是一个校园二手交易平台(C2C),C2C指个人与个人之间的电子商务,买家可以查看所有卖家发布的商品,并且根据分类进行商品过滤,也可以根据站内搜索引擎进行商品的查询,并且与卖…

山海鲸可视化软件的优势:数据整合、可视化与个性化定制

随着科技的快速发展,企业数字化转型已成为必然趋势。而对于一些本身没有开发优势或非技术型企业,数字化产品的选择就成为重中之重。作为山海鲸可视化软件的开发者,我们深知这一点,对于企业来说,能选择一个产品一定要有…

【代数学作业5】理想的分解:高斯整数环中理想的结构,并根据其范数和素数的性质进行分解

【代数学作业5】理想的分解 写在最前面题目1相关概念题解分析1. ( 1 3 ) ( 1 − 3 ) (1 \sqrt{3}) (1 - \sqrt{3}) (13 ​)(1−3 ​)2. ( 4 3 ) ≠ ( 4 − 3 ) (4 \sqrt{3}) \neq (4 - \sqrt{3}) (43 ​)​(4−3 ​)3. ( 33 , 7 − 3 3 ) ( 4 3 3 ) (33, 7 - 3\sq…

开源大模型应用开发

1.大语言模型初探 ChatGLM3简介 ChatGLM3-6B 是一个基于 Transformer 的预训练语言模型,由清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练发布。该模型的基本原理是将大量无标签文本数据进行预训练,然后将其用于各种下游任务,例如文…

边坡安全监测预警系统——高效率

安装边坡安全监测预警系统的原因是多方面的,涉及到社会效益、经济效益和环境效益。随着国家基础设施建设的快速发展,边坡安全监测预警系统的需求越来越迫切。 边坡安全监测预警系统对于保障人民生命财产安全具有重要意义。在山区、丘陵地带,边…

1.C++语言的编译器及编译流程

1.C编译器 编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。以下是一些主流的C编译器及其简要用法: GNU Compiler Collection (GCC):’ GCC原名GNU C Compiler,后来逐渐支持更多的语言编译(C、Fortran、…

js文件上传 分片上传/断点续传/极速秒传

(极速秒传)利用md5判断上传的文件是否存在 MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 每一个文件都会生成…

电磁波的信号加载说明

电磁波的信号加载电磁波(Electromagnetic wave)是由同相振荡 且互相垂直的电场与磁场在空间中衍生发射的振荡粒子波,是以波动的形式传播的电磁场,具有波粒二象性,其粒子形态称为光子,电磁波与光子不是非黑即白的关系,而…