前言:本课程将从头学习Mysql,以我的工作经验来说,sql语句真的太重要的,现在互联网所有的一切都是建立在数据上,因为互联网的兴起,现在的数据日月增多,每年都以翻倍的形式增长,对于数据的管理日发重要,sql语法便是最重要的一个部分。
本章节将讲解一下内容:
基础篇:
》Mysql概述
》SQL
》函数
》约束
》多表查询
》事务
进阶篇:
》存储引擎
》索引
》SQL优化
》视图、存储过程、触发器
》锁
》InnoDB核心
》Mysql管理
运维篇:
》日志
》主从复制
》分库分表
》读写分离
数据库相关概念:
数据库:数据存储的仓库,简称DataBase(DB)。一个数据从界面存放到硬盘中,是交由电脑去实现的,而人想让电脑按照自己的意愿去操作数据, 用的就是sql语句,数据+sql+硬盘便可视为数据库。
关系型数据库、非关系型数据库:
在数据库中, 有关系型数据库于非关系型数据,
关系型数据库使用表格来组织数据,使用结构化查询语言(SQL)进行查询。它们适合处理高度结构化的数据和复杂的关系,对数据一致性和事务处理有严格要求,例如金融系统和企业资源管理。
讲人话:是以类似于excel表格形式来存储数据,适合存储非常复杂的数据,经常出现在金融类型行业
非关系型数据库是一种没有固定模式的数据库,以键值对、文档、列族或图形等方式存储数据,通常不使用SQL作为查询语言。它们适合处理大规模数据和高并发访问,强调可扩展性和性能,例如社交媒体数据和实时分析。
讲人话:是以类似于键值对来存储数据,适用于数据库量非常大的场景,性能比较出众,经常出现在社交媒体行业
关系型数据库细分种类:
- MySQL:一种流行的开源关系型数据库,具有良好的性能和易用性。
- PostgreSQL:一种功能强大的开源关系型数据库,支持复杂的数据类型和高级特性。
- Oracle Database:一种商业级的关系型数据库,广泛应用于企业级应用,具有强大的可扩展性和安全性。
- Microsoft SQL Server:由微软提供的关系型数据库管理系统,适用于窗户平台和与其他微软产品集成。
- SQLite:一种嵌入式关系型数据库,非常轻量级,适用于移动应用和小型项目。
- IBM DB2:一种可扩展的关系型数据库,适用于企业级应用和大型数据处理。
- MariaDB:由MySQL的创始人创建的开源关系型数据库,与MySQL兼容,并提供一些额外的功能和性能改进。
- Sybase:一种用于企业级应用的关系型数据库,具有高性能和可扩展性。
- Teradata:专注于大规模数据仓库和分析的关系型数据库系统。
- Informix:一种高性能的关系型数据库,适用于企业级应用和实时数据处理。
非关系型数据细分种类:
键值存储数据库(Key-value store):以键值对的形式存储数据,适用于简单的数据模型和高速读写操作。例如Redis、Memcached和DynamoDB等。
文档数据库(Document store):以类似于JSON或XML的文档格式存储数据,适用于半结构化数据和灵活的查询需求。例如MongoDB、CouchDB和Elasticsearch等。
列族数据库(Column store):将数据按列簇进行存储,适用于具有大量列和变化的数据模式。例如HBase和Cassandra等。
图形数据库(Graph database):专注于存储和查询图形结构的数据,适用于复杂的关系和图形分析。例如Neo4j和ArangoDB等。
对象数据库(Object database):以对象的形式存储数据,适用于对象导向编程和复杂数据模型。虽然非关系型数据库中对象数据库的使用较少,但一些产品仍在使用,例如db4o和Versant等。
哇,这么多,你学得完么,就算你学得完你记得完么?反之我记不完也学不完,所以就学mysql语法可以了,sql语法适用大分部种类数据库,就学一个可以了, 除非你想拿诺贝尔奖。
现如今打分企业用的都是Mysql和Oracle,你问我有什么区别?那我只能肤浅一点回答你了,mysql是免费的,适用中小型企业;Oracle是收费的,适用大型企业。后来mysql被oracle收购了,然后捣鼓了一下,就推出了收费版的mysql。当然免费版的mysql还是存在的,不然我可没钱买一个mysql来讲解。
Mysql数据库的安装:
目前Mysql提供了社区版和商业版, 也就是免费版和收费版。以下将用免费版进行说明。
mysql官方下载地址:MySQL :: MySQL Downloads
在安装之前, 需要卸载本地mysql,如果没有安装过则跳过。
cmd输入:mysql -V ,如果出现以下则说明安装过mysql,需要卸载。
卸载教程: https://mp.csdn.net/mp_blog/creation/editor/132521560
接下来接着说安装,双击安装文件:
等待安装
选择默认的开发模式,下一步
检查所需要的环境, 点击下一步
等待它安装完成
安装完成后,点击下一步
然后还是下一步
这个界面也不用做任何改动, 直接点击下一步
下一步
这里需要你设置数据库密码, 学习的话,建议设置简单
这个说明mysql会自动在电脑开启一个服务,服务名称叫MySQL80,直接点击下一步即可
这个界面是配置权限说明界面, 默认下一步
点击下一步,让系统配置服务
至此,数据库就安装完成了
配置mysql的环境变量:
首先进入:C:\Program Files 目录, 找打mysql目录,进入mysql的bin目录将其复制出来
然后放入path变量中,不知道在哪进入电脑的环境变量可度一下。
验证一下是否配置成功,在cmd输入:mysql -V, 出现版本号说明配置成功
试一下登录指令能不能用,打开cmd,输入命令:mysql -h 127.0.0.1 -P 3306 -u root -p
127.0.0.1:是本地地址,也是数据库地址
3306:端口号(注意,3306前面的-P 是大写, 不是小写的p,输入小写会无法连接)
root:数据库用户名(它是默认管理员用户名)
出现以下内容则说明成功了。(注意:cmd窗口必须管理员运行,否则会报错)
启动、连接、停止mysql
方式一
cmd命令启动mysql:net start mysql80
cmd命令停止mysql:net stop mysql80
注意:如果输入命令时提示“系统发生错误5,拒绝访问”, 那大概率是权限不足导致,解决方法是需要以管理员方式运行cmd命令窗口即可
方式二
在服务里面就可以找到mysql服务名
启动和停止可以在这里操作, 我这里已经启动了
连接mysql:远程连接工具有很多种, 这里建议使用DBeaver, 因为它免费呀。当然你也可以用Navicat等之类的工具,界面操作都大差不差。
DBeaver官网下载地址:https://dbeaver.io/download/
DBeaver安装教程:http://t.csdn.cn/LTi6k
方式一:mysql自带命令行连接
方式二: cmd窗口连接
打开cmd,输入命令:mysql -h 127.0.0.1 -P 3306 -u root -p
127.0.0.1:是本地地址,也是数据库地址
3306:端口号(注意,3306前面的-P 是大写, 不是小写的p,输入小写会无法连接)
root:数据库用户名(它是默认管理员用户名)
输入密码回车(注意:输入密码时是不显示了,但实际已经输入了)
方式三:远程客户端工具连接
输入地址、端口、用户名、密码进行连接
再试一下查询语句
安装成功-----------