MYSQL下载 环境配置 修改密码 基本SQL语句
存取数据的演变史
1.文本文件
	文件路径不固定:C:\aaa.txt  D:\bbb.txt  E:\ccc.txt
	数据格式不统一:jason|123	jason$123	jason 123
2.软件开发目录规范
	规定了数据应该保存在db目录下>>>:路径偏向统一
        db/user.txt  db/userinfo.txt   db/jason.json  db/jason
	数据格式还是没有得到统一
    	 文本 json格式 对象
3.数据库服务(重点)
	统一路径 统一操作方式
    	降低学习成本 提高开发效率
数据库软件应用史
1.单机游戏
	数据存储于各个计算机的本地 无法共享
2.网络游戏
	数据存储于网络中 可以共享(数据库服务)
"""
数据库服务集群:提升数据的安全性
不同的服务器 要放在不同的机房:
如果服务器都是搞数据库的,应该放在多个机房,不应该放在同一个地方。一台服务器坏了,其他服务器还有备份。
"""
所有数据全部集中:

数据库坏了 那台服务器着火了 那所有的数据就全没了。
所以要使用数据库服务集群,进行数据同步\备份,出现服务器坏了的情况,就切换服务器。

数据库的本质
1.站在底层原理的角度
	数据库指的是操作数据的进程(一堆代码)
2.站在实际应用的角度
	数据库指的是可视化操作界面(一些软件)
ps:以后不做特殊说明的情况下讲数据库其实指的是数据库软件
数据库软件本质也是CS架构的程序
	意味着所有的程序员其实都有资格编写一款数据库软件 
'''
比如使用socket模块写一个服务端 设定为遵循TCP协议 接受用户传来的查找数据的信息
进行文件读写 再回传给用户查找的结果。
'''

数据库的分类
关系型数据库
特征
关系型数据库关键词:(主库)(硬盘)
拥有固定的表结构(字段名 字段类型)
id name pwd
字段类型得固定:如id号是整型 姓名是字符串类型数据之间可以建立关系
用户表数据
豪车表数据
豪宅表数据
举例:如果将用户表的某个信息删除,相对应的其他表的信息也会删除。
常见关系型数据库
常见关系型数据库有:
MySQL、Oracle、MariaDB、PostgreSQL、sql server、sqlite、db2、access
- mysql: 开源免费 使用最广 性价比贼高 功能均衡 可以做银行数据库 适合用于学习
 - oracle: 收费 使用成本高 安全性也最高 用于做银行数据库 oracle维护要请oracle公司的人来维护 维护费20个w
 - postgreSQL: 开源免费 支持二次开发 兼容性极高
 - mariaDB: 跟mysql是一个作者 开源免费 功能跟mysql差不多 为什么会写这个数据库 因为mysql被收购了 作者担心mysql会收费 所以又写了mariaDB
 - sqlite: 小型数据库 用于本地测试
 
非关系型数据库
特征
非关系型数据库关键词:(缓存数据库)(副库)(内存)
- 没有固定的表结构 数据存储采用K:V键值对的形式
{'name':'jason'}
{'username':'kevin','pwd':123} - 数据之间无法建立数据库层面的关系
不会牵一发而动全身。
ps:可以自己编写代码建立逻辑层面的关系 也就是修改了一个表的数据 你写代码自动修改另外与其相关表的数据。 
常见非关系型数据库
常见非关系型数据库:redis、mongoDB、memcache
- redis:目前最火 使用频率最高的非关系型数据库(缓存数据库)
虽然缓存数据库是基于内存做数据存取但是也拥有持久化存储的功能
如何持久化? 定时刷硬盘 日志记录 - mongoDB:文档型数据库 最像关系型数据库的非关系型数据库
主要用在爬虫以及大数据领域 - memcache:以及被redis淘汰
 
mysql简介
为什么是mysql?
虽然数据库软件有很多 但是操作方式大差不差
学会了一个几乎就可以学会所有,其中以MySQL最为典型.
1.版本问题
	8.0:最新版
 	5.7:使用频率较高
 	5.6:学习推荐使用
	ps:站在开发的角度使用哪个版本学习都没有关系
2.下载流程
	1.访问官网
 	2.点击DOWNLOADS并点击GPL
	3.点击community server
 	4.点击Archives
 	5.选择对应系统的对应版本下载即可(zip压缩包)
3.主要目录介绍(重要)
	bin目录
    	存放启动文件
        	mysqld.exe(服务端)		mysql.exe(客户端)
	data目录
    	存放核心数据
  	my-default.ini
    	默认的配置文件
	readme
    	软件说明
'''
备忘:mysql本质是一个C/S架构的程序
	服务端启动文件mysqld.exe
	客户端启动文件mysql.exe
'''
mysql下载
- 官网 >>> https://www.mysql.com/
 - 点击downloads

 - 社区版下载

 - 点击

 - 下载mysql

 - 其他历史版本

 - 解压压缩包 得到如下软件目录(5.6.44)

选择老版本的原因:用于学习比较合适 新版本会将一些内容封装 
启动mysql
注意: 用管理员模式打开cmd !!!!

- 切换到mysql的bin目录下先启动服务端 
mysqld.exe

现在这个cmd窗口就是你的mysql服务端,不要把他关掉了,再打开一个cmd。 - 保持窗口不关闭 重新打开一个新的cmd窗口

 - 切换到mysql的bin目录下启动客户端
mysql.exe

 
系统mysql服务的启动 mysql虚拟环境配置
刚才的mysql启动方式十分麻烦,需要我们手动切换路径,还需要保持服务器窗口不关掉。所以我们把mysql服务端配置到系统服务中,让电脑一开机就自动启动mysql服务端。
- 先把bin目录添加到环境变量
清空之前打开的cmd窗口 一定要把之前用cmd启动的服务端关闭(ctrl+c)

 - 查看系统服务
如何查看系统服务?
方法一:鼠标右键任务栏选择服务

方法二:cmd输入services.msc回车 点击一个服务 输入m 会自动跳转到首字母为m的服务 - 将mysql添加到系统服务中
以'''管理员身份'''打开cmd窗口
输入命令mysqld --install


在任务管理器查看服务是否存在:

 - 首次添加不会自动启动 需要人为操作一下
1.在任务管理鼠标右键点击启动
2.命令行启动net start mysql


 
卸载说明
"""
如果想卸载重新按照
	1.先关闭服务端
		net stop mysql
	2.移除系统服务
		mysqld --remove
	3.使用添加与删除程序 卸载即可
"""

游客模式和管理员模式的区别
直接使用mysql命令默认是游客模式 权限和功能都很少:

使用管理员模式进入,默认的密码是空,直接回车即可进入mysql:

这条命令的意思是>>> mysql -u用户名 -p密码
只不过密码为空。
游客模式下:

密码相关操作
修改密码
	方式1:mysqladmin
	mysqladmin -u用户名 -p原密码 password 新密码
	方式2:直接修改存储用户数据的表
	方式3:冷门操作 有些版本可能还不支持
       set password=password('新密码')  # 修改当前登录用户的密码
mysqladmin管理程序
mysqladmin是什么?

mysqladmin 是 mysqld守护线程的 管理程序。mysqld守护线程守护的是系统 系统开机mysqld自动启动 系统关机mysqld自动关闭。
- 先在cmd输入
mysqladmin这一步必须做 不然无法修改 - 修改root用户的密码 由于我password后面跟了密码 所以这里直接回车两次
也可以不带上密码 然后在enter password里面输入要修改的密码 这样mysql会将你的输入隐藏 将修改密码的过程变的更安全

 
修改存储用户数据的表
前提是能登录mysql:

这里的password经过了加密处理 实际就是123
修改当前登录用户的密码
set password=password('新密码')  # 修改当前登录用户的密码
前提是能登录mysql:

忘记密码
	方式1:卸载重新装
  	方式2:把data目录删除 拷贝一份目录覆盖
 	方式3:小把戏操作
              1.关闭正常的服务端
              2.以跳过授权表的方式重启服务端(不校验密码)
              3.以管理员身份进入然后修改mysql.user表数据即可
          net stop mysql
          mysqld --skip-grant-table
          mysql -uroot -p
          update mysql.user set password=password('123') where Host='localhost' and User='root';
              4.关闭服务端 然后以正常方式启动即可
小把戏操作
备忘:使用管理员模式的cmd
- 关闭正常的服务端

 - 以跳过授权表的方式重启服务端(不校验密码) 这个cmd不关
注意:服务启动成功之后 该cmd是不能继续输入命令的 失败则可以。

 - 再开一个cmd 以管理员身份进入然后修改mysql.user表数据即可
输入update mysql.user set password=password('123') where Host='localhost' and User='root';将root的密码改成123

 
SQL 和 NOSQL
数据库服务端是可以服务多种类型的客户端
	客户端可以是自己开发的 也可以是python代码编写 也可以是java代码编写
SQL
	操作关系型数据库的语言
NoSQL
	操作非关系型数据库的语言
ps:要想跟数据库交互就必须使用数据库指定的语言
"""
SQL有时候也指代关系型数据库
NoSQL有时候也指代非关系型数据库
"""

基本SQL语句
注意事项
1.sql语句必须以分号结尾
2.sql语句编写错误之后不用担心 可以直接执行报错即可
基于库的增删改查指令
1.创建库
create database 库名;
2.查看库
show databases; 查看所有的库名称
show create database 库名; 查看指定库信息
3.编辑库
alter database 库名 charset='utf8';
4.删除库
drop database 库名;
基于表的增删改查
操作表之前需要先确定库
create database db1;
切换操作库
use db1;
1.创建表
create table 表名(字段名 字段类型,字段名 字段类型);
2.查看表
show tables; 查看库下所有的表名称
show create table 表名; 查看指定表信息
describe 表名; 查看表结构
desc 表名;
ps:如果想跨库操作其他表 只需要在表名前加库名即可
desc mysql.user;
3.编辑表
alter table 表名 rename 新表名;
4.删除表
drop table 表名;
基于记录的增删改查
1.插入数据
insert into 表名 values(数据值1,数据值2);
insert into 表名 values(数据值1,数据组2),(数据值1,数据值2);
2.查询数据
select * from 表名; 查询表中所有的数据
3.编辑数据
update 表名 set 字段名=新数据 where 筛选条件;
4.删除数据
delete from 表名;
delete from 表名 where id=2;
补充-容易犯的错误

2.

3.

MYSQL下载 环境配置 修改密码 基本SQL语句的更多相关文章
- 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置
		
1.快速搭建springboot框架(在idea中): file–>new project–>Spring Initializr–>next–>然后一直下一步. 然后复制一下代 ...
 - Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行(含系列目录)。
		
前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...
 - MySql数据库3【优化2】sql语句的优化
		
1.SELECT语句优化 1).利用LIMIT 1取得唯一行[控制结果集的行数] 有时,当你要查询一张表是,你知道自己只需要看一行.你可能会去的一条十分独特的记录,或者只是刚好检查了任何存在的记录数, ...
 - mysql怎么终止当前正在执行的sql语句
		
mysql怎么终止当前正在执行的sql语句 show processlist; kill 要杀的ID kill 7
 - mysql优化(三)–explain分析sql语句执行效率
		
mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...
 - oracle 修改表的sql语句
		
oracle 修改表的sql语句 1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)) ...
 - mysql操作命令梳理(5)-执行sql语句查询即mysql状态说明
		
在日常mysql运维中,经常要查询当前mysql下正在执行的sql语句及其他在跑的mysql相关线程,这就用到mysql processlist这个命令了.mysql> show process ...
 - MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?
		
项目中,评论数,关注数等数据,是实时更新的.+1,-1 这种. 有的时候,可能统计不准确. 需要写一个统计工具,更新校准下. 用Java写SQL和函数,代码很清晰,方便扩展,但是太慢了. 为了简单起见 ...
 - MySQL下载安装配置和Navicat for MySQL的安装配置
		
MySQL 一.下载 地址:MySQL :: Download MySQL Installer 选择那个几百M的msi文件下载 二.安装 第一步: 安装许可 双击安装文件,在如下图所示界面中勾选&qu ...
 - mysql安装设置mysql字符集utf8及修改密码
		
MySQL的下载,建议下载MySQL的解压缩版本 MySQL官网下载推荐别下最新版本的原因是因为很多之前用的jar包和工具类不兼容最新版本的 可以下5.多的和六点多的 这样的压缩包解压再配置就行了 安 ...
 
随机推荐
- 组件化开发1-git命令简洁版
			
1-给项目添加git git init 2-查询当前状态,(红色显示的为在工作区,绿色为暂缓区) git status 3-提交到暂缓区 git add . 4-提交到本地仓库('xxxx'里面为注释 ...
 - Handler机制与生产者消费者模式
			
本文梳理了 Handler 的源码,并详细阐述了 Handler 与生产者消费者模式的关系,最后给出了多版自定义 Handler 实现.本文首发于简书,重新整理发布. 一.Handler Handle ...
 - 云原生下基于K8S声明式GitOps持续部署工具ArgoCD实战-上
			
@ 目录 概述 定义 工作原理 主要组件 核心概念 环境准备 概述 安装Kubekey 创建K8S 安装K9S OpenLB 安装ArgoCD 安装 ArgoCD CLI 从Git库中创建一个应用程序 ...
 - 矩阵顺时针打印(C++)(? 为什么不能AC,9度1391)
			
#include <iostream> #include <fstream> using namespace std; int a[1000][1000]; void prin ...
 - POJ1185 [NOI2001] 炮兵阵地 (状压DP)
			
又是一道有合法性检测的状压题. dp[i][j][k]表示第i行状态为j,i-1行状态为k时前i行放置的最大数量. 注意22行统计二进制数中1的个数时的巧妙方法. 1 #include<cstd ...
 - 实现fastdfs防盗链功能
			
目录 1.背景 2.实现原理 2.1 开启防盗链 2.2 重启 nginx 2.3 Java代码生成token 1.token生成规则 2.java生成token 3.测试 3.1 带正确token访 ...
 - SpringBoot(七) - Redis 缓存
			
1.五大基本数据类型和操作 1.1 字符串-string 命令 说明 set key value 如果key还没有,那就可以添加,如果key已经存在了,那会覆盖原有key的值 get key 如果ke ...
 - golang的内存管理
			
0.1.索引 https://blog.waterflow.link/articles/1663406367769 1.内存管理 内存管理是管理计算机内存的过程,在主存和磁盘之间移动进程以提高系统的整 ...
 - CF Round #829 题解 (Div. 2)
			
F 没看所以摆了 . 看拜月教教主 LHQ 在群里代打恰钱 /bx 目录 A. Technical Support (*800) B. Kevin and Permutation (*800) C. ...
 - Windows7下驱动开发与调试体系构建——5.实战反调试标记位(NtGlobalFlag)
			
目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html <加密与解密>P670中,介绍了检查程序是否被调试的第二种方法:查看进程 ...