存取数据的演变史

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协议 接受用户传来的查找数据的信息
进行文件读写 再回传给用户查找的结果。
'''

数据库的分类

关系型数据库

特征

关系型数据库关键词:(主库)(硬盘)

  1. 拥有固定的表结构(字段名 字段类型)

    id name pwd

    字段类型得固定:如id号是整型 姓名是字符串类型

  2. 数据之间可以建立关系

    用户表数据

    豪车表数据

    豪宅表数据

    举例:如果将用户表的某个信息删除,相对应的其他表的信息也会删除。

常见关系型数据库

常见关系型数据库有:

MySQL、Oracle、MariaDB、PostgreSQL、sql server、sqlite、db2、access

  1. mysql: 开源免费 使用最广 性价比贼高 功能均衡 可以做银行数据库 适合用于学习
  2. oracle: 收费 使用成本高 安全性也最高 用于做银行数据库 oracle维护要请oracle公司的人来维护 维护费20个w
  3. postgreSQL: 开源免费 支持二次开发 兼容性极高
  4. mariaDB: 跟mysql是一个作者 开源免费 功能跟mysql差不多 为什么会写这个数据库 因为mysql被收购了 作者担心mysql会收费 所以又写了mariaDB
  5. sqlite: 小型数据库 用于本地测试

非关系型数据库

特征

非关系型数据库关键词:(缓存数据库)(副库)(内存)

  1. 没有固定的表结构 数据存储采用K:V键值对的形式

    {'name':'jason'}

    {'username':'kevin','pwd':123}
  2. 数据之间无法建立数据库层面的关系

    不会牵一发而动全身。

    ps:可以自己编写代码建立逻辑层面的关系 也就是修改了一个表的数据 你写代码自动修改另外与其相关表的数据。

常见非关系型数据库

常见非关系型数据库:redis、mongoDB、memcache

  1. redis:目前最火 使用频率最高的非关系型数据库(缓存数据库)

    虽然缓存数据库是基于内存做数据存取但是也拥有持久化存储的功能

    如何持久化? 定时刷硬盘 日志记录
  2. mongoDB:文档型数据库 最像关系型数据库的非关系型数据库

    主要用在爬虫以及大数据领域
  3. 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下载

  1. 官网 >>> https://www.mysql.com/
  2. 点击downloads

  3. 社区版下载

  4. 点击

  5. 下载mysql

  6. 其他历史版本

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



    选择老版本的原因:用于学习比较合适 新版本会将一些内容封装

启动mysql

注意: 用管理员模式打开cmd !!!!

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



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

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

系统mysql服务的启动 mysql虚拟环境配置

刚才的mysql启动方式十分麻烦,需要我们手动切换路径,还需要保持服务器窗口不关掉。所以我们把mysql服务端配置到系统服务中,让电脑一开机就自动启动mysql服务端。

  1. 先把bin目录添加到环境变量

    清空之前打开的cmd窗口 一定要把之前用cmd启动的服务端关闭(ctrl+c)

  2. 查看系统服务

    如何查看系统服务?

    方法一:鼠标右键任务栏选择服务



    方法二:cmd输入services.msc回车 点击一个服务 输入m 会自动跳转到首字母为m的服务
  3. 将mysql添加到系统服务中

    以'''管理员身份'''打开cmd窗口

    输入命令mysqld --install





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

  4. 首次添加不会自动启动 需要人为操作一下

    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自动关闭。

  1. 先在cmd输入mysqladmin这一步必须做 不然无法修改
  2. 修改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

  1. 关闭正常的服务端

  2. 以跳过授权表的方式重启服务端(不校验密码) 这个cmd不关

    注意:服务启动成功之后 该cmd是不能继续输入命令的 失败则可以。

  3. 再开一个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语句的更多相关文章

  1. 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置

    1.快速搭建springboot框架(在idea中): file–>new project–>Spring Initializr–>next–>然后一直下一步. 然后复制一下代 ...

  2. Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。

    前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...

  3. MySql数据库3【优化2】sql语句的优化

    1.SELECT语句优化 1).利用LIMIT 1取得唯一行[控制结果集的行数] 有时,当你要查询一张表是,你知道自己只需要看一行.你可能会去的一条十分独特的记录,或者只是刚好检查了任何存在的记录数, ...

  4. mysql怎么终止当前正在执行的sql语句

    mysql怎么终止当前正在执行的sql语句 show processlist; kill 要杀的ID kill 7

  5. mysql优化(三)–explain分析sql语句执行效率

    mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...

  6. oracle 修改表的sql语句

    oracle 修改表的sql语句     1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)) ...

  7. mysql操作命令梳理(5)-执行sql语句查询即mysql状态说明

    在日常mysql运维中,经常要查询当前mysql下正在执行的sql语句及其他在跑的mysql相关线程,这就用到mysql processlist这个命令了.mysql> show process ...

  8. MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?

    项目中,评论数,关注数等数据,是实时更新的.+1,-1 这种. 有的时候,可能统计不准确. 需要写一个统计工具,更新校准下. 用Java写SQL和函数,代码很清晰,方便扩展,但是太慢了. 为了简单起见 ...

  9. MySQL下载安装配置和Navicat for MySQL的安装配置

    MySQL 一.下载 地址:MySQL :: Download MySQL Installer 选择那个几百M的msi文件下载 二.安装 第一步: 安装许可 双击安装文件,在如下图所示界面中勾选&qu ...

  10. mysql安装设置mysql字符集utf8及修改密码

    MySQL的下载,建议下载MySQL的解压缩版本 MySQL官网下载推荐别下最新版本的原因是因为很多之前用的jar包和工具类不兼容最新版本的 可以下5.多的和六点多的 这样的压缩包解压再配置就行了 安 ...

随机推荐

  1. Docker/K8s 解决容器内时区不一致方案

    转载自:https://cloud.tencent.com/developer/article/1433215 1.背景介绍 我们知道,使用 docker 容器启动服务后,如果使用默认 Centos ...

  2. Docker容器获取宿主机信息

    最近在做产品授权的东西,开始宿主机为Window,程序获取机器硬件信息相对简单些,后来部署时发现各种各样的的环境问题,所有后来改用dokcer部署,docker方式获取宿主机信息时花了些时间,特此记录 ...

  3. 一篇文章带你掌握主流基础框架——Spring

    一篇文章带你掌握主流基础框架--Spring 这篇文章中我们将会介绍Spring的框架以及本体内容,包括核心容器,注解开发,AOP以及事务等内容 那么简单说明一下Spring的必要性: Spring技 ...

  4. Node.js(四)json

    npm init -y(初始化项目) npm install express(引入express) npx express-generator -e(自动生成模板.添加对 ejs 模板引擎的支持) n ...

  5. python+request+pymysql+pytest数据驱动

    一.pymysql简单使用 1.安装mysql 下载地址:https://www.mysql.com/,安装教程这里不做介绍了,网上一大推. 2.安装pymysql库 在Terminal终端输入:pi ...

  6. PHP微信支付功能

    百度网盘:http://pan.baidu.com/s/1sl5GeVr  l5ud 先下载一份sdk ,引入到自己的项目中,我用的是TP5,配置好namespace 然后在项目中引入: 之后,在去配 ...

  7. 学习ASP.NET Core Blazor编程系列八——数据校验

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  8. html小总结(哪些可以直接设置高度和宽度)

    (1)当然块级元素是可以直接设置高度和宽度的 块级元素:块级大多为结构性标记 div.h1~h6.ul.ol.dl.form.table.p.hr.pre.address.center.blockqu ...

  9. nrf9160做modem——测试连接阿里云

    简介:在前面有讲过如何使用nrf9160去连接一个云,然后进行发布订阅信息,但是当时连接的是一个免费的测试云,在国内的话许多人想要连接阿里云或者华为云,下面就来测试一下连接阿里云.这里为什么要和上一篇 ...

  10. ISCTF2022WP

    ISCTF2022改名叫套CTF吧(bushi),博主菜鸡一个,套题太多,挑一些题写下wp,勿喷. MISC 可爱的emoji   下载下来是个加密压缩包,根据hint掩码爆破密码 得到密码:KEYI ...