新手应该如何快速上手MySQL数据库?

news2024/11/26 10:35:30

前言

数据库是计算机系统中用于存储、管理和检索数据的系统。它允许用户访问并管理数据,并具有可靠、可扩展和高效的特性。


在这里插入图片描述

文章目录

  • 前言
  • 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卸载
  • 3. SQL语句
    • 3.1 SQL简介
    • 3.3 SQL分类
  • 4. 总结


MySQL是一个开源的关系型数据库管理系统,在互联网领域被广泛使用,如今也成为各种行业使用的标准数据库之一。

在这部分学习过程中,主要以MySQL数据库为例,学习数据库的基础知识,SQL语句的使用,JDBC开发技术,MyBatis简化JDBC开发以及用于方便管理项目的Maven技术…

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官网下载合适的版本,并进行安装。对于初学者,可以下载MySQL Community Server,这是一个免费且易于使用的版本,安装过程也比较简单。在安装过程中,需要设置密码,这是你访问MySQL的必要条件。

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

2.2 MySQL配置

2.2.1 添加环境变量

在这里插入图片描述

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

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

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

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目录及相关的环境变量。


3. SQL语句

3.1 SQL简介

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

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

以下是常用的 SQL 语句的介绍:

  1. SELECT

SELECT 语句是 SQL 中最重要的语句之一。它允许您从数据库中检索数据。使用 SELECT 语句时,您需要指定要从哪个表中选择数据,并根据需要添加筛选条件和排序规则。例如:

SELECT * FROM customers;

上述代码将返回 customers 表中的所有行。

  1. WHERE

WHERE 子句用于限制 SELECT 语句的结果集。例如:

SELECT * FROM customers WHERE last_name = 'Smith';

这将返回所有姓为 Smith 的客户。

  1. ORDER BY

ORDER BY 子句用于对结果集进行排序。默认情况下,数据按升序排序。可以使用 ASC 关键字显式指定。您还可以使用 DESC,表示降序排列。例如:

SELECT * FROM customers ORDER BY last_name DESC;

此代码将按姓氏的降序排列返回所有客户。

  1. GROUP BY

GROUP BY 子句用于将结果集分组。使用 GROUP BY 子句时,您需要指定要分组的列。例如:

SELECT country, COUNT(*) as customer_count FROM customers GROUP BY country;

此代码将按国家分组,并计算每个国家的客户数量。

  1. JOIN

JOIN 语句用于在多个表之间创建关联。例如:

SELECT * FROM customers JOIN orders ON customers.customer_id = orders.customer_id;

此代码将返回包含客户和订单信息的行,这些信息是通过 customer_id 列在两个表之间进行关联的。

  1. INSERT INTO

INSERT INTO 语句用于向数据库中添加新行。例如:

此代码将向 customers 表添加一行,其中包含 John Doe 的姓名和电子邮件地址。

  1. UPDATE

UPDATE 语句用于更新现有行。例如:

UPDATE customers SET email = 'jane.doe@example.com' WHERE customer_id = 1;

此代码将更新 ID 为 1 的客户的电子邮件地址。

  1. DELETE

DELETE 语句用于从数据库中删除行。例如:

DELETE FROM customers WHERE customer_id = 1;

此代码将删除 ID 为 1 的客户的所有信息。

这些 SQL 语句只是常用的语句之一。当您开始使用 SQL 时,您会发现还有更多的语句和功能可供使用。

3.3 SQL分类

在这里插入图片描述

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

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

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

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

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

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


4. 总结

MySQL是一个广泛使用的关系型数据库管理系统,在许多行业应用中都得到了广泛的运用。虽然在学习过程中可能会遇到一些挑战,但是充分掌握这些技能可以帮助我们更好地应对各种数据管理任务。


在这里插入图片描述

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

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

相关文章

我在CSDN的736个日子——两年纪念日“随想”

2021-05-21~2023-05-27,我在 CSDN 已有 736 个日子。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址:https:/…

设计一:51单片机流水灯控制

目录 一、设计内容 二、硬件电路分析 三、仿真原理图 四、程序设计 五、仿真结果 六、思考题 作者有话说 一、设计内容 本次设计使用4个按键,当KEY1按下时,P0口所接的发光二极管(D1~D8)以100ms的时间间隔自下至上循环点亮3…

软考A计划-试题模拟含答案解析-卷六

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

在线Excel绝配:SpreadJS 16.1.1+GcExcel 6.1.1 Crack

前端:SpreadJS 16.1.1 后端: GcExcel 6.1.1 全能 SpreadJS 16.1.1此版本的产品中包含以下功能和增强功能。 添加了各种输入掩码样式选项。 添加了在保护工作表时设置密码以及在取消保护时验证密码的支持。 增强了组合图以将其显示为仪表图。 添加了…

chatgpt赋能python:Python成为行业中的主力之一

Python成为行业中的主力之一 Python作为一种高级编程语言,已经成为了行业中的主力之一。Python的功能强大,易于学习和使用,而且兼容性良好。在数据科学,人工智能,web开发等领域,Python已经成为了不可或缺的…

chatgpt赋能python:Python转化为数字:Python程序员必须知道的关键技能

Python 转化为数字:Python 程序员必须知道的关键技能 Python 是一种广泛使用的编程语言,不仅适用于数据科学、人工智能和机器学习领域,还可以用于一般的应用开发。在 Python 中,数字是最基本的数据类型之一,因此了解如…

arm3399主板-使用ubuntu20.04搭建LVS-DR(netplan)

目录 一、规划 1、网络拓扑 2、检查 二、配置设备 1、配置LVS 1.配置IP转发 2.清除防火墙 3.安装ipvsadm工具 4.配置VIP 5.netplan与NetworkManager介绍 6.添加LVS规则 1.清除防火墙 2.添加伪装IP 3.安装web服务 4. 修改内核参数,防止IP冲突 3、配置w…

Golang每日一练(leetDay0079) 最大正方形、完全二叉树节点数

目录 221. 最大正方形 Maximal Square 🌟🌟 222. 完全二叉树的节点个数 Count Complete Tree Nodes 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/…

ThingsBoard教程(五五):规则节点解析 REST接口调用 REST API Call Node,发送邮件Send Email Node

REST接口调用 REST API Call Nod Since TB Version 2.0 调用外部 REST 服务器的 REST API。 配置: 端点 URL 模式 - 可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如 ${deviceType}。请求方法 - GET、POST、PUT、DELETE头 - 请求头,头或值可以是静态字符串…

chatgpt赋能python:Python转换为日期:完整解析

Python 转换为日期:完整解析 日期和时间是计算机编程中非常重要的一部分,可以用来记录和管理各种信息,例如日程安排、用户活动、数据更新等等。在 Python 中,我们可以使用 datetime 模块来轻松地进行日期和时间的操作和转换。 什…

JavaScript之DOM案例练习

1. 循环精灵图 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" …

SpringCloud Alibaba Sentinel

SpringCloud Alibaba Sentinel Sentinel 基础 官网 1 Github: https://github.com/alibaba/Sentinel 2 快速开始: https://sentinelguard.io/zh-cn/docs/quick-start.html 3 中文: https://github.com/alibaba/Sentinel/wiki/介绍 4 使用手册: https://spring-cloud-alib…

chatgpt赋能python:Python除数为0处理详解

Python除数为0处理详解 在Python编程中&#xff0c;最常见的问题之一是除数为0的错误。当我们尝试将一个数除以0时&#xff0c;Python会抛出ZeroDivisionError错误&#xff0c;这是一个常见的运行时错误。 为什么会发生除数为0的错误&#xff1f; 当我们尝试将一个数除以0时…

如何在华为OD机试中获得满分?Java实现【MVP争夺战】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…

1、Ovirt 开源虚拟化平台安装

ovirt官网 一、资源规划介绍 1.1、服务规划 ovirt版本 ovirt engine 4.3.10 ovirt node 4.3.10 ovirt.node01.opsvv.com 负责托管引擎服务 1.2、资源划分 1.2.1、节点划分 密码均为&#xff1a;12345678 Node02无法开启虚拟化&#xff0c;只演示加入集群节点使用 节点…

软考A计划-试题模拟含答案解析-卷四

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

Netty概述及Hello word入门

目录 概述 Netty是什么 Netty的地位 Netty的优势 HelloWord入门程序 目标 pom依赖 服务器端 客户端 运行结果 入门把握理解 概述 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable hi…

VITS语音生成模型详解及中文语音生成训练

1 VITS模型介绍 VITS&#xff08;Variational Inference with adversarial learning for end-to-end Text-to-Speech&#xff09;是一种结合变分推理&#xff08;variational inference&#xff09;、标准化流&#xff08;normalizing flows&#xff09;和对抗训练的高表现力语…

基于技能的工程方法及其在I4.0 中的应用

工业4.0 组件描述了两种架构&#xff0c;一种是面向服务的紧耦合分层系统架构&#xff0c;另一种基于协议的同层架构&#xff08;peer-to-peer&#xff09;。传统的工业自动化系统几乎都是分层架构。例如现场设备&#xff08;PLC&#xff09;将数据传送到控制中心&#xff0c;S…

如何在华为OD机试中获得满分?Java实现【不爱施肥的小布】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…