阅读目录

  • 数据和数据库
  • MySQL介绍
  • MySQL的详细安装教程
    • Windows版本:MySQLl的安装、启动和基础配置
      • 下载
      • 配置
      • 环境变量
      • 安装 和 启动MySQL服务端
      • MySQL的卸载
      • MySQL的Server端
      • MySQL客户端
    • Linux版本:MySQLl的安装、启动和基础配置
    • Mac版本:MySQLl的安装、启动和基础配置
  • MySQL常见的问题解决
    • 安装、配置失败问题排查
    • cmd 没有以管理员权限打开
    • 没有开启服务器
    • 忘记密码
    • mysql 输入指令时,报ERROR
    • 输入命令出错,如何终止退出
  • MySQL的必备概念和命令
    • 用户和用户权限
    • 连接服务器
    • 初识mysql 语句

数据和数据库

  • 数据:
    描述事务的符号记录,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机
  • 计算机中的数据:
    在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容,如:
1  storyfull  male 25 德国 计算机系

单纯的一条记录并没有任何意义,如果我们按逗号作为分隔,依次定义各个字段的意思

id   name        sex     age   adderess   major   # 字段
1  storyfull    male    25      德国  计算机系   # 记录
  • 为什么要用数据库:
    (1)程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务。
    (2)数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象
    (3)并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket
    (4)效率 :使用数据库对数据进行增删改查的效率要高出我们自己处理文件很多

  • 数据库(DataBase,简称DB):
    数据库,顾名思义就是存放数据的仓库,只不过这个仓库是在计算机存储设备上。
    数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种 用户共享

  • 什么是数据库管理系统(DataBase Management System 简称DBMS)
    (1)在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键这就用到了一个系统软件—数据库管理系统,如:MySQL、Oracle、SQLite、Access、MS SQL Server
    (2)MySQL主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。Oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。SQL Server是微软公司的产品,主要应用于大中型企业,如联想、方正等。
    (3)数据库:其实就是文件夹;数据库管理系统:就是一个软件;数据库服务器:就是对外专门提供数据的一个机器

  • 数据库服务器,数据库管理系统,表与记录的关系(重点理解)
    (1)表:student,scholl,class_list(即文件)
    (2)数据库:employee_info(即文件夹)
    (3)数据库管理系统:如MySQL(是一个软件)
    (4)数据库服务器:一台计算机(对内存要求比较高)

  • 总结:

    数据库服务器—运行—>数据库管理软件

    数据库管理软件—>管理—>数据库

    数据库—组织—>表,即文件夹—组织—>文件

    表—存放—>多条记录,即文件—存放—>多行内容

  • 数据库的发展史


MySQL介绍

  • 数据库管理软件分类
    管理数据的工具有很多种,不止MySQL一个。关于分类其实可以从各个纬度来进行划分,但是我们最常使用的分类还是根据他们:存取数据的特点来划分的,主要分为关系型和非关系型。可以简单的理解为,关系型数据库需要有表结构,非关系型数据库是key-value存储的,没有表结构

  • MySQL
    (1)MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
    (2)MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
    (3)MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

MySQL的详细安装教程

Windows版本:MySQLl的安装、启动和基础配置

下载
  • 第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads
  • 选择Community选项–>点击到MySQLCommunity Downloads–>选择MySQL Community Server
  • 选择版本和操作系统版本
  • 解压到当前下载的目标地址
  • 打开解压文件,保证里面的目录文件完整如下:

    (1)放置的路径必须是:全英文且不带空格的路径
    (2)再次确定下,打开目录后是第一个文件夹是“bin”,是否含有“my-default.ini”配置文件
配置
  • 配置“my.ini”文件:
    打开目录,会看到my-default.ini配置文件,复制这个配置文件可以重命名为:my.ini (最主要)或者my.cnf;必须在当前路径下,注意文件名和后缀名必须一致!
  • 将“my.ini”文件拖入到Pycharm中,请确认你的Pycharm默认编码是否是“uft-8”,拖入后可以到该文件内容如下:
  • 然后将文件内容全部清除:
  • 将如下配置文件内容,复制到Pycharm中
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\Program Files\mysql-5.6.39-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\mysql-5.6.39-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
  • 修改内容,将MySQL安装目录 和 存放目录 改成mysql开始的存放位置,详细步骤如下↓↓↓

    (1)设置mysql的安装目录:看你的bin目录在哪里,直接将所在位置路径贴过来就可以↓↓↓


    (2)设置mysql数据库的数据的存放目录:先双击你的data 打开,复制好路径,贴上就可以↓↓↓



    (3)最后确认下,每一个末尾是否含有多余的空格

    (4)特别注意:存放的路径,虽然是全英文,但是在windows下,千万要注意命名不要带上了转义字符,比如,路径写成了 :
E:\\mysql:\tool  # \t是转义字符,windows 会理解成 E:\\mysql: ool ;这就多了空格导致错误
E:\\mysql:\bool # \b 也是是转义字符
  • 注意:配置好的“my.ini”文件,以后不要随便用 记事本或者其他非 默认utf-8 的工具打开,导致编码发生改变!
环境变量
  • 打开:高级系统设置–>高级–>环境变量

  • 为MySQL添加环境变量的步骤
    (1)win10 好像大部分软件安装都会自动帮你填充环境变量,比如python的安装,就会自动填充,不需要手动将pyhon执行文件路径复制到环境变量中!;但是MySQL不会自动配置,需要我们手动添加
    (2)打开系统环境变量的path

    (3)点击“新建”新建一个环境变量:添加自己的MySQL文件所在的bin目录,如下↓↓↓

安装 和 启动MySQL服务端
  • 安装MySQL服务:以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录,输入mysqld install回车运行


  • 启动MySQL服务端:
    (1)以管理员身份在cmd中输入:net start mysql

    (2)启动成功后,就可以登录MySQL了:
    服务启动成功之后,就可以登录了,输入 mysql -u root -p(mysql5.6版本的,第一次登录没有密码,直接按回车过)


    (3)如果以上步骤都一致的话,那么表示你已经成功安装了MySQL,如果任何一步失败,在安装后发生了配置错误,都需要卸载再重新安装,在发生错误的基础上直接修改都是不会成功的
MySQL的卸载
  • 卸载一般是再你发现MySQL安装配置过程中出现错误,才去操作;成功的可以跳过,不用看
  • 具体步骤如下:
MySQL的Server端
  • 通过上述步骤,如果MySQL服务端已经安装成功并且服务端已经可以连接上,以后再操作MySQL时
    注意:当我们每次用mysql启动的时候,那就不用太麻烦了,因为上述安装方法是把它做成一个系统服务,使用了“ mysqld install ”后,当在搜索里面输入services.msc就可以看到一个MYSQL了;就相当于安装一个软件,点击图标就可以运行;那么我们就可以这样管理MySQL↓↓↓

  • 注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:

# 启动MySQL服务
net start mysql# 关闭MySQL服务
net stop mysql
# 在windows操作系统上没有重启mysql服务的命令
# 如果要重启服务,只能先stop再start
  • 演示MySQL server端 停止

  • 一般装好后,电脑开机,MySQL server端 会自动开启
MySQL客户端
  • 启动MySQL客户端的原理



    (1)MySQL 5.6的版本root用户是不需要密码的,5.7之后的需要
  • 关于密码
  • MySQL的使用过程
    (1)MySQL端如果没有被 命令停止,一般开机都会自动开启,所以只需在命令行输入 mysql -uroot -p 输入密码,开启服务端,然后操作即可

Linux版本:MySQLl的安装、启动和基础配置

  • Linux版本

Mac版本:MySQLl的安装、启动和基础配置

  • Mac版本

MySQL常见的问题解决

安装、配置失败问题排查

cmd 没有以管理员权限打开

  • cmd 没有以管理员权限打开,安装时会报:“Install/Remove of the Service Denided!”;解决办法是,关闭,开启cmd时以管理员身份开启,即可!

没有开启服务器

  • ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

忘记密码

  • 方式一:
    (1)彻底关闭mysql(注意:以什么方式启动的就要以什么方式把它关闭)
    (2)在cmd中启动:mysqld skip-grant-tables (跳过所有的授权表)
    (3)在cmd中登录:mysql
    (4)输入两条命令:
      update mysql.user set authentication_string = password(‘123’) where user = ‘root’ and host =‘localhost’
      flush privileges 重新刷新权限
    (5)tskill mysqld 干掉任务
    (6)正常启动mysql
    (7)mysql -uroot -p123 (不提倡这么写)

-方式二:
(仅限于刚刚安装在数据库的时候,如果对你有用的一堆数据已经存在了,
就不要用这种方法,就得用第一种)
1.在mysql的解压目录下新建一个my.ini配置文件
那么在my.ini配置文件里写上
在ini配置文件中注释有两种#或者;
[mysql]
skip-grant-tables (开头的–就不用要了)如果启动了就先关了,然后重新启动一下,登录后,my.ini就生效了
basedir = 路径
datadir = data路径 # 如果data指定要保存数据的目录,一定要记得初始化 mysqld initialize-insecure
完了把原先的那个数据data干掉。

mysql 输入指令时,报ERROR

  • 可能是输入命令时大小写导致命令无法生效
  • 输入完命令后没有以“ ; ” 结尾;记住如果没有在结尾输入分号,则表示命令还没结束

输入命令出错,如何终止退出

  • 第一种情况:当输错命令(内容),如果想直接终止退出,以便重新输入?
    解决方法是: 直接 输入\c 即可退出
  • 第二种情况:在 输入 语法时,例如 insert into 表名 values ( 'minmax 前面已经输入了一个分号,当时没输完,就按了回车键,此时 无论如何 操作都退不出来的(\c 也是无效的)
    解决方法:先补齐一个另一个分号 然后再 \c 即可退出

MySQL的必备概念和命令

用户和用户权限

  • 在安装数据库之后,有一个最高权限的用户root;一般不会把root用户轻易的给别人,这样文件容易被修改
  • 如何查看用户:进入mysql后输入
select user();

  • 如何给当前用户设置密码,输入:
set password = password('123');


(1)set password = password(‘密码’); 相当于调用一个password函数,那么它会以加密的方式存储,如果直接“set password =” 则以明文的方式存储,这是非常危险且不提倡的写法

  • 查看库/文件:不同权限的用户能查看到的库和内容是不一样,以下以root用户为例
show databases ;

  • 创建用户
create user '用户名' @ '网段' IDENTIFIED BY '123';
  • 查看创建用户的权限(所能操作的内容);
show grants for '用户名'@ '网段'; # grants 意思为:同意、允许、准许

  • 给创建的用户授权:
grant all on 文件名.* to '用户名'@ '网段';
flush privileges;    # 刷新使授权立即生效


(1)说明,可以先通过创建用户语句来创建用户,然后给它授权;也可以直接用授权语句来自动创建用户,即是,执行

grant all on 文件夹.* to '用户名'@ '网段' indentified by '密码';

就会自动创建一个输入的用户

连接服务器

  • 我们的mysql客户端不仅可以连接本地的数据库;也可以连接网络上的某一个数据库的server端,只要对方提供IP地址和密码;然后输入:mysql -h192.168.12.87 -uroot -p123

初识mysql 语句

  • 设想一下,当我们想要从文件中存取数据的时候,是一个非常繁琐的过程,主要是因为文件中所有的内容对我们来说是连续的,没有规则的。如果我们将数据按照规则存在一个文件中,在设计一种规则可以拼凑组合成我们需要的操作,并通过这些指示在文件中存取数据,那么操作数据是不是能够变得更加简单快速呢?这串规则就被我们成为SQL。

  • SQL : 结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ “S-Q-L”),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。

  • SQL语言分为3种类型:

    (1)DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE、DROP、ALTER

    (2)DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

    (3)DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

  • 初识 sql 语句

# mysql的账号操作
# 进入mysql客户端
$mysql
mysql> select user();  # 查看当前用户
mysql> exit     # 也可以用\q quit退出# 默认用户登陆之后并没有实际操作的权限
# 需要使用管理员root用户登陆
$ mysql -uroot -p   # mysql 5.6默认是没有密码的
# 遇到password直接按回车键
mysql> set password = password('root'); # 给当前数据库设置密码# 创建账号
mysql> create user 'min'@'192.168.10.%'   IDENTIFIED BY '123'; # 指示网段,和登录密码
mysql> create user 'min'@'192.168.10.5';   # 指示某机器可以连接
mysql> create user 'min'@'%';             # 指示所有机器都可以连接
mysql> show grants for 'min'@'192.168.10.5'; # 查看某个用户的权限 # 远程登陆
$ mysql -uroot -p123 -h 192.168.10.3 # 某一具体用户信息# 给账号授权
mysql> grant all on *.* to 'min'@'%';
mysql> flush privileges;    # 刷新使授权立即生效# 创建账号并授权
mysql> grant all on *.* to 'eva'@'%' identified by '123' 
  • DDL 语句 图示
    (1)创建库、查询库:

    (2)进入到某一个库中:
select database(); # 查看当前使用的库
use 数据库的名称 # 没有分号,相当于进入到数据库(文件夹)下


(3)创建表:
创建表,必须进入到某一个库中,才能执行该操作

(4)查看表:

(5)删除表:

(6)查看表结构:

-DML语句图示:
(1)数据的增加:插入一条数据

(2)数据的查看:查询数据


(3)数据的修改:

(4)删除数据:

  • 虽然是mysql的基础,但是很有必要整理下,通过cmd操作感觉有点麻烦,后期会讲图形化界面

MySQL--入门篇:MySQL入门必会知识 Windows安装MySQL的zip包 一步一步带你图解安装MySQL过程 详细图解MySQL语句相关推荐

  1. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...

  2. mysql 开发包 安装_mysql的zip包的安装方法

    mysql是常用的开源数据库,有exe和zip两种,在这里我介绍下如何配置zip版本. 1)首先登陆mysql官方网站下载,选择"DOWNLOADS",一般选择"Comm ...

  3. MySQL入门篇,2021最新Java知识体系总结

    一.数据库的操作 1.1显示数据库 1.2创建数据库 1.3使用数据库 1.4删除数据库 二.常用的数据类型 2.1数值类型 2.2字符串类型 2.3日期类型 三.表的操作 3.1查看表结构 3.2创 ...

  4. 万字长文总结的Linux从入门到精通的必会知识!

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 来源:juejin.im/post/5ee444ea6fb9a047ca10f7 ...

  5. 【入门篇】音视频基础知识

    前言 说到视频,大家自己脑子里基本都会想起电影.电视剧.在线视频等等,也会想起一些视频格式 AVI.MP4.RMVB.MKV等等. 但是我们如果认真思考这些应该就有很多疑问,比如以下问题: * mp4 ...

  6. linux mysql复制一个表结构图_详解Windows和Linux下从数据库导出表结构,以及Linux下如何导入.sql文件到MySQL数据库...

    本文首先讲解window下如何使用Navicat for MySQL导出表. 1.如下图所示,目标数据库是mydatabase,数据库中有四张表. 2.选中该数据库,右键--数据传输. 3.左边可以选 ...

  7. .NET Core实战项目之CMS 第五章 入门篇-Dapper的快速入门看这篇就够了

    写在前面 上篇文章我们讲了如在在实际项目开发中使用Git来进行代码的版本控制,当然介绍的都是比较常用的功能.今天我再带着大家一起熟悉下一个ORM框架Dapper,实例代码的演示编写完成后我会通过Git ...

  8. .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划

    写在前面 千呼万唤始出来,首先,请允许我长吸一口气!真没想到一份来自28岁老程序员的自白 这篇文章会这么火,更没想到的是张善友队长的公众号居然也转载了这篇文章,这就导致两天的时间就有两百多位读者朋友加 ...

  9. .NET Core实战项目之CMS 第六章 入门篇-Vue的快速入门及其使用

    写在前面 上面文章我给大家介绍了Dapper这个ORM框架的简单使用,大伙会用了嘛!本来今天这篇文章是要讲Vue的快速入门的,原因是想在后面的文章中使用Vue进行这个CMS系统的后台管理界面的实现.但 ...

最新文章

  1. 基于zookeeper的solrCloud集群搭建
  2. Java项目:高校学生社团活动管理系统(java+springboot+freemark+jpa+mysql)
  3. Sqlite 错误码
  4. antd vue表单上传文件_vue+axios+antD的上传图片踩坑
  5. 刚毕业就年薪30万,程序员真的这么有“钱”途吗?
  6. Python实现八皇后问题
  7. 13.相机和图像——聚焦于对象实战,不断变化的焦距,景深_3
  8. Qt——P1 创建第一个Qt程序
  9. 二叉树求到某一个节点路径
  10. JQuery[12] 模仿QQ聊天界面
  11. 网络安全实验室之基础关
  12. css box-sizing
  13. 关于swiftUI和UIKit混用
  14. html里面<i>和<em>标签的区别
  15. 钉钉打卡作弊软件非法获利近 500 万元,CEO 被判刑 5 年 6 个月
  16. 教你用python制作人脸卡通画(附源码)
  17. 云大使成长精华指引(全)
  18. 电脑连不上ishanghai_i-Shanghai免费上网将不限时 详解如何上网不掉线
  19. Eclipse(Windows)下第一个动态Java Web项目(Tomcat部署)
  20. 完全数,丰沛数,不足数

热门文章

  1. mysql-connector-java.jar包的下载教程
  2. 盘点5款超棒的电脑软件
  3. 速学堂高淇老师java作业,公用电话传递数据进行加密
  4. 重做系统后查不到jdk版本
  5. IOS开发之——屏幕适配-AutoLayout布局实现(02)
  6. 手机组态软件利用4G网络直接通信三菱E700变频器
  7. VB6.0人脸识别(使用虹软人脸识别SDK)
  8. matlab里点除,matlab中乘法“*”和点乘“.*”;除法“/”和点除“./”的联系和区别...
  9. Arcmap加载在线地图的方法总结
  10. RxJava入门指南