【MySQL】下载安装以及SQL介绍

1,数据库相关概念

以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果,当然文件存储也有它的弊端。

假设在文件中存储以下的数据:

姓名  年龄  性别  住址
张三  23  男   北京西三旗
李四  24  女   北京西二旗
王五  25  男   西安软件新城

现要修改李四这条数据的性别数据改为男,我们现学习的IO技术可以通过将所有的数据读取到内存中,然后进行修改再存到该文件中。通过这种方式操作存在很大问题,现在只有三条数据,如果文件中存储1T的数据,那么就会发现内存根本就存储不了。

现需要既能持久化存储数据,也要能避免上述问题的技术使用在我们的系统中。数据库就是这样的一门技术。

1.1 数据库

  • ==存储和管理数据的仓库,数据是有组织的进行存储。==

  • 数据库英文名是 DataBase,简称DB。

数据库就是将数据存储在硬盘上,可以达到持久化存储的效果。那又是如何解决上述问题的?使用数据库管理系统。

1.2 数据库管理系统

  • ==管理数据库的大型软件==

  • 英文:DataBase Management System,简称 DBMS

在电脑上安装了数据库管理系统后,就可以通过数据库管理系统创建数据库来存储数据,也可以通过该系统对数据库中的数据进行数据的增删改查相关的操作。我们平时说的MySQL数据库其实是MySQL数据库管理系统。

通过上面的描述,大家应该已经知道了 数据库管理系统数据库 的关系。那么有有哪些常见的数据库管理系统呢?

1.3 常见的数据库管理系统

接下来对上面列举的数据库管理系统进行简单的介绍:

  • Oracle:收费的大型数据库,Oracle 公司的产品

  • ==MySQL==: 开源免费的中小型数据库。后来 Sun公司收购了 MySQL,而 Sun 公司又被 Oracle 收购

  • SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用

  • PostgreSQL:开源免费中小型的数据库

  • DB2:IBM 公司的大型收费数据库产品

  • SQLite:嵌入式的微型数据库。如:作为 Android 内置数据库

  • MariaDB:开源免费中小型的数据库

我们课程上学习的是MySQL数据库管理系统,PostgreSQL在一些公司也有使用,此时大家肯定会想以后在公司中如果使用我们没有学习过程的PostgreSQL数据库管理系统怎么办?这点大家大可不必担心,如下图所示:

我们可以通过数据库管理系统操作数据库,对数据库中的数据进行增删改查操作,而怎么样让用户跟数据库管理系统打交道呢?就可以通过一门编程语言(SQL)来实现。

1.4 SQL

  • 英文:Structured Query Language,简称 SQL,结构化查询语言

  • 操作关系型数据库的编程语言

  • 定义操作所有关系型数据库的统一标准,可以使用SQL操作所有的关系型数据库管理系统,以后工作中如果使用到了其他的数据库管理系统,也同样的使用SQL来操作。

2,MySQL

2.1 MySQL安装

安装环境:Win10 64位 软件版本:MySQL 5.7.24 解压版

2.1.1 下载

MySQL :: Download MySQL Community Server (Archived Versions)

点开上面的链接就能看到如下界面:

选择选择和自己系统位数相对应的版本点击右边的Download,此时会进到另一个页面,同样在接近页面底部的地方找到如下图所示的位置:

img

不用理会上面的登录和注册按钮,直接点击 No thanks, just start my download. 就可以下载。

2.1.2 安装(解压)

下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 5.7.24的软件本体了(就是一个文件夹),我们可以把它放在你想安装的位置。


2.2 MySQL卸载

如果你想卸载MySQL,也很简单。

右键开始菜单,选择命令提示符(管理员),打开黑框。

  1. 敲入net stop mysql,回车。

net stop mysql

  1. 再敲入mysqld -remove mysql,回车。

mysqld -remove mysql

  1. 最后删除MySQL目录及相关的环境变量。

至此,MySQL卸载完成!

2.3 MySQL配置

2.3.1 添加环境变量

环境变量里面有很多选项,这里我们只用到Path这个参数。为什么在初始化的开始要添加环境变量呢? 在黑框(即CMD)中输入一个可执行程序的名字,Windows会先在环境变量中的Path所指的路径中寻找一遍,如果找到了就直接执行,没找到就在当前工作目录找,如果还没找到,就报错。我们添加环境变量的目的就是能够在任意一个黑框直接调用MySQL中的相关程序而不用总是修改工作目录,大大简化了操作。

右键此电脑属性,点击高级系统设置

点击环境变量

系统变量中新建MYSQL_HOME

系统变量中找到并双击Path

点击新建

最后点击确定。

如何验证是否添加成功?

右键开始菜单(就是屏幕左下角),选择命令提示符(管理员),打开黑框,敲入mysql,回车。 如果提示Can't connect to MySQL server on 'localhost'则证明添加成功; 如果提示mysql不是内部或外部命令,也不是可运行的程序或批处理文件则表示添加添加失败,请重新检查步骤并重试。

2.3.2 新建配置文件

新建一个文本文件,内容如下:

[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

把上面的文本文件另存为,在保存类型里选所有文件 (*.*),文件名叫my.ini,存放的路径为MySQL的根目录(例如我的是D:\software\mysql-5.7.24-winx64,根据自己的MySQL目录位置修改)。

上面代码意思就是配置数据库的默认编码集为utf-8和默认存储引擎为INNODB。

2.3.3 初始化MySQL

在刚才的黑框中敲入mysqld --initialize-insecure,回车,稍微等待一会,如果出现没有出现报错信息(如下图)则证明data目录初始化没有问题,此时再查看MySQL目录下已经有data目录生成。

mysqld --initialize-insecure

tips:如果出现如下错误

是由于权限不足导致的,去C:\Windows\System32 下以管理员方式运行 cmd.exe

2.3.4 注册MySQL服务

在黑框里敲入mysqld -install,回车。

mysqld -install

现在你的计算机上已经安装好了MySQL服务了。

MySQL服务器

2.3.5 启动MySQL服务

在黑框里敲入net start mysql,回车。

net start mysql  // 启动mysql服务net stop mysql  // 停止mysql服务

2.3.6 修改默认账户密码

在黑框里敲入mysqladmin -u root password 1234,这里的1234就是指默认管理员(即root账户)的密码,可以自行修改成你喜欢的。

mysqladmin -u root password 1234

至此,MySQL 5.7 解压版安装完毕!

2.4 MySQL登陆和退出

2.4.1 登陆

右键开始菜单,选择命令提示符,打开黑框。 在黑框中输入,mysql -uroot -p1234,回车,出现下图且左下角为mysql>,则登录成功。

mysql -uroot -p1234

到这里你就可以开始你的MySQL之旅了!

登陆参数:

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

2.4.2 退出

退出mysql:

exit
quit

2.5 MySQL数据模型

关系型数据库:

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

如下图,订单信息表客户信息表 都是有行有列二维表我们将这样的称为关系型数据库。

  • DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)

    DQL简单理解就是对数据进行查询操作。从数据库表中查询到我们想要的数据。

  • DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

    DML简单理解就是对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等。

注意: 以后我们最常操作的是 DMLDQL ,因为我们开发中最常操作的就是数据。

3,SQL概述

了解了数据模型后,接下来我们就学习SQL语句,通过SQL语句对数据库、表、数据进行增删改查操作。

3.1 SQL简介

  • 英文:Structured Query Language,简称 SQL

  • 结构化查询语言,一门操作关系型数据库的编程语言

  • 定义操作所有关系型数据库的统一标准

  • 对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”

3.2 通用语法

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

    如上,以分号结尾才是一个完整的sql语句。

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

    同样的一条sql语句写成下图的样子,一样可以运行处结果。

  • 注释

    • 单行注释: -- 注释内容 或 #注释内容(MySQL 特有)

    • 注意:使用-- 添加单行注释时,--后面一定要加空格,而#没有要求。

    • 多行注释: /* 注释 */

3.3 SQL分类

  • DDL(Data Definition Language) : 数据定义语言,用来定义数据库对象:数据库,表,列等

    DDL简单理解就是用来操作数据库,表等

  • DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改

    DML简单理解就对表中数据进行增删改

  • DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)

    DQL简单理解就是对数据进行查询操作。从数据库表中查询到我们想要的数据。

  • DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

    DML简单理解就是对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等。

注意: 以后我们最常操作的是 DMLDQL ,因为我们开发中最常操作的就是数据。

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

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

相关文章

GitHub基本使用

GitHub搜索 直接搜索 直接搜索关键字 明确搜索仓库标题 语法:in:name [关键词]展示:比如我们想在GitHub仓库中标题中搜索带有SpringBoot关键词的,我们可以样搜: in:name SpringBoot 明确搜索描述 语法:in:description [关键词]展…

常见的锁策略(面试八股文)

1.乐观锁vs悲观锁 乐观锁:预测该场景中不太会出现锁冲突的情况。(后续做的工作会更少) 悲观锁:预测该场景非常容易出现锁冲突(后续做的工作会更多) 锁冲突:多个线程同时尝试去获得同一把锁&…

mysql进阶-用户的创建_修改_删除

1. 使用mysql单次查询 [rootVM-4-6-centos /]# mysql -h localhost -P 3306 -p mytest -e "select * from book1"; Enter password: ------------------------------------------- | id | category_id | book_name | num | ----------------------------…

第17节 R语言分析:生物统计数据集 R 编码分析和绘图

生物统计数据集 R 编码分析和绘图 生物统计学,用于对给定文件 data.csv 中的医疗数据应用 R 编码,该文件是患者人口统计数据集,包含有关来自各种祖先谱系的个体的标准信息。 数据集特征解释 脚本 output= file("Output.txt") # File name of output log sink(o…

opencv读取MP4文件和摄像头数据

文章目录 前言一、waitKey函数二、VideoCapture类总结前言 本篇文章来讲解opencv读取MP4文件和摄像头数据,opencv主要用于处理图像数据那么本篇文章就来讲解opencv读取MP4文件和摄像头数据。 一、waitKey函数 waitKey()函数是OpenCV中常用的一个函数,它用于等待用户按键输…

docker常用命令

docker常用命令 1.镜像与容器的关系2. 基本命令3. 容器操作4. 镜像操作5. 文件传输 1.镜像与容器的关系 镜像是类容器是对类实例化的对象 2. 基本命令 启动docker服务systemctl start docker重启docker服务systemctl restart docker 开机自动启动dockersystemctl enable doc…

Spring-mybatis结合的底层原理

1.项目前期准备 1.1 导入maven jar包 <dependencies><!-- spring依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.5.RELEASE</version></depende…

js中的设计模式

设计模式 代码整体的结构会更加清楚&#xff0c;管理起来会更加方便&#xff0c;更好地维护 设计模式是一种思想 发布订阅 模块化开发 导入很多模块 容器即数组存储未来要执行的方法&#xff0c;同addEventListener 数组塌陷问题* 由于删除了元素&#xff0c;导致从删除元素的位…

数据库知识-事务

数据库知识-事务 当处理数据库中的多个操作时&#xff0c;事务是一个关键的概念&#xff0c;它确保这些操作要么全部成功执行&#xff0c;要么全部回滚到初始状态&#xff0c;以保持数据的一致性。在SQL中&#xff0c;事务具有四个关键属性&#xff08;ACID&#xff09;&#…

4.Makefile使用自动推导(附示例)

一、Makefile自动推导理解 在Makefile中,自动推导是通过一些内置规则(implicit rules)来实现的。这些内置规则定义了一些常见的编译和链接操作,用于根据文件的扩展名自动推导生成目标文件和可执行文件。 当make命令执行时,它会查找Makefile中的目标和依赖关系,并根据这…

easyui实用点

easyui实用点 1.下拉框&#xff08;input框只能选不能手动输入编辑&#xff09; data-options"editable:false"//不可编辑2.日期框&#xff0c;下拉框&#xff0c;文本框等class class"easyui-datebox"//不带时分秒 class"easyui-datetimebox"…

idea调节文字大小、日志颜色、git改动信息

idea调节菜单栏文字大小&#xff1a; 调节代码文字大小&#xff1a; 按住ctrl滚动滑轮可以调节代码文字大小&#xff1a; 单击文件即可在主窗口上打开显示&#xff1a; idea在控制台对不同级别的日志打印不同颜色 &#xff1a; “grep console”插件 点击某一行的时候&#x…

关于会议OA需求分析与开发功能设计

前言&#xff1a;现如今&#xff0c;企业在会议管理方面对OA系统的需求越来越高。因为会议是企业内部沟通和协作的重要环节&#xff0c;一个高效的会议管理系统可以帮助企业提升会议效率、降低成本&#xff0c;并且提高内部信息共享的效果。 目录 一&#xff0c;以下是OA系统在…

React从入门到实战-react脚手架,消息订阅与发布

创建项目并启动 全局安装 npm install -g create-react-app切换到想创建项目的目录&#xff0c;使用命令&#xff1a;create-react-app 项目名称 ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存中…(iQ6hEUgAABpQAAAD1CAYAAABeIRZoAAAAAXNSR0IArs4c6QAAIABJREFUe…

[threejs]相机与坐标

搞清相机和坐标的关系在threejs初期很重要&#xff0c;否则有可能会出现写了代码&#xff0c;运行时一片漆黑的现象&#xff0c;这种情况就有可能是因为你相机没弄对。 先来看一下threejs中的坐标(世界坐标) 坐标轴好理解&#xff0c;大家只需要知道在three中不同颜色代表的轴…

ARM单片机中断处理过程解析

前言 中断&#xff0c;在单片机开发中再常见不过了。当然对于中断的原理和执行流程都了然于胸&#xff0c;那么对于ARM单片机中断的具体处理行为&#xff0c;你真的搞清楚了吗&#xff1f; 今天来简单聊一聊&#xff0c;ARM单片机中断处理过程中的具体行为是什么样的&#xf…

一张图像相当于 16×16 个单词:用于大规模图像识别的 Transformers(视觉 Transformers)

一张图片值多少字? 一张图片胜过千言万语?无法用言语完整地描述一幅图画。但论文告诉我们一张图像相当于 1616 个单词。在这篇博客中,我将解释使用 Transformer 进行图像识别。这是一篇非常有趣的论文, 这篇论文有什么特别之处? 它很特别,因为这里我们不会使用任何卷积网…

【Linux】配置java

yum -y install java-1.8.0-openjdk-devel.x86_64 可以直接使用 由于后续需要安装一些软件需要JAVA_HOME 所以需要配置JAVA_HOME 用yum下载的软件的目录是软连接的 which javals -lrt /usr/bin/javals -lrt /etc/alternatives/java /etc/profile 会自动加载/etc/profile.d…

vite+typescript项目 :找不到模块“./***.vue”或其相应的类型声明——解决方案

vue3ts报错&#xff1a; 找不到模块“./App.vue”或其相应的类型声明。ts(2307) 解决方法&#xff1a; 1、在src文件夹找到 vite-env.d.ts 加入以下代码&#xff1a; declare module *.vue {import type { DefineComponent } from vueconst vueComponent: DefineComponent<…

django使用ztree实现树状结构效果,子节点实现动态加载(l懒加载)

一、实现的效果 由于最近项目中需要实现树状结构的效果,考虑到ztree这个组件大家用的比较多,因此打算在django项目中集成ztree来实现树状的效果。最终实现的示例效果如下: 点击父节点,如果有子节点,则从后台动态请求数据,然后显示出子节点的数据。 二、实现思路 …