MySQL铺垫

发布时间 2023-07-12 22:04:28作者: Meeeoww

数据的演变史

# 以ATM为例
# 1. 把数据存放在单个文件里面
	1. 文件名不规范
    2. 数据格式也不规范
    	kevin|123   kevin$123  kevin*123
# 2. 软件目录开发规范
	db文件夹里
    	# 当数据量多的时候,会产生很多的文件,多次读取文件会占用大量的资源
# 3. 数据库阶段
	把数据单独存放在一台计算机上
    '''数据库能解决以上你所有遇到的问题.'''
    

数据存储发展史

1. 单机游戏阶段
	# 数据各自保存在各自的电脑上,不能实现数据的共享
2. 联网游戏
	# 核心就是可以在计算机之间数据共享,数据库一定是基于网络的!!!
    
  '''以上所有遇到的问题核心都是基于数据的'''

数据库的本质

'''数据库的本质其实就是cs架构的软件'''
cs架构的软件就必须有服务端和客户端,理论上来说,我们每个人都能写一款数据库出来,只不过是你写的数据库没人用,因此,市面上有很多牛逼的程序员,就写了很多的数据库软件,所以,你也会发现,现在市场上的确有很多的数据库

数据库的分类

'''市面上有很多的数据库,但是,大致分类两大类'''
1. 关系型数据库
	MySQL、Oracle、SqlServer、PostgreSQL、sqlite、MariaDB、db2、access
    MySQL:开源免费的
    MariaDB:开源的 与MySQL为同一作者
	Oracle:不开源,收费
    

2. 非关系型数据库
	Redis缓存数据库(新项目使用)、memcahce缓存数据库(老项目有再用)、MongoDB数据库(爬虫)
    '''redis淘汰了memcahce,redis的功能多于memcahce'''
    
3. 二者的特点
    关系型数据库:
        拥有固定的表结构,表与表之间可以建立关系
    非关系型数据库:
        没有固定的表结构,它是以K:V键值对的形式存储数据
            name------------------->kevin
            age-------------------->20
	

sql与NoSql

# 服务端为了兼容各个客户端(python、java、go、php、c...)语言的交互,统一规定了交互格式:
	关系型数据库mysql >>>>>>: sql语句
    非关系型数据库redis >>>>>>>: nosql语句
        
ps:mysql默认忽略大小写        
        

MySQL简介

1. 版本问题
	4.x之前的版本直接忽略,不够稳定
    5.6:老项目用的多,是最稳定的版本
    5.7: 新老项目都在用
    8.x:最新版本
'''在IT界,生产环境中尽量不要使用最新版本,测试环境中用哪个版本都可以'''
# 任何软件,生产环境中,都要使用稳定版本,而不是追求最新版本
# 教学使用5.6版本,如果你下载了其他版本也无所谓
'''如果你之前的电脑装过mysql,而卸载的方式又不对,就有可能存在很多的残留垃圾文件,如果不删除掉,就有可能导致新的mysql装不上,装上之后,有可能启动不起来,反正就是各种问题!!!'''

# 如果你的电脑中确实存在了残留文件,怎么办呢?
利用一些杀毒软件,去检测你电脑上的残留文件,然后把检测出来的垃圾文件全部删除即可

'''今天的任务,每个人必须把MySQL装成功!!!'''
2. 下载MySQL
	# 1. Windows版本
    # 2. mac版本
    # 3. linux版本
    我们使用 Windows版本的,mac版本有教程,linux版本这里不讲
3. 下载
	去官网下载:https://www.mysql.com/ >>>>>>DOWNLOADS>>>> 往下翻到MySQL Community (GPL) Downloads »MySQL Community Server>>>>Archives选择需要的版本>>>>Download
     # 下载下来之后,是一个zip的压缩包,去解压文件
4. mysql目录介绍:
	# bin 服务端:mysqld.exe 和客户端:mysql.exe都在bin目录下
        mysql.exe # 这个是mysql自带的客户端
        mysqld.exe # 这个是mysql的服务端
   # data
	   它是mysql的存储数据的地方
   # my-defalut.ini   
		是mysql的配置文件
   # README  
		是说明文件
    
5. 如何使用mysql
	1. 步骤一:先启动服务端
    	添加环境变量前:
       搜索cmd>右击以管理员身份运行>D:\>cd MySQL>cd mysql-5.6.48-winx64>cd bin>mysqld.exe
       (服务端的cmd窗口继续保留不能关闭)
    	添加环境变量后:
        电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysqld
        制作系统服务后:
        电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令执行命令net start mysql
        
             
    2. 步骤二:启动客户端
    	添加环境变量前:
       新打开一个cmd窗口来链接服务端
        >D:\>cd MySQL>cd mysql-5.6.48-winx64>cd bin>mysql.exe
        添加环境变量后:
       电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysql# 直接输入mysql登录是游客模式
       以上两种方式以游客身份进入非管理员登录
        
       以管理员权限启动客户端方式:
    	电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysql -u root -p
        
    3.步骤三链接服务端:
    	cmd启动客户端后执行命令mysql -u root -p
        #连接mysql命令:mysql -h127.0.0.1 -P3306 -uroot -p123456# 自己电脑mysql -u root -p
        
        
	4. 把mysqld服务端所在的路径加入到环境变量中
    	每次启动mysqld、mysql需要切换文件路径,所以把mysqld、mysql文件所在路径bin添加到环境变量中就不用重复切换了
        
    	步骤:复制文件bin路径 加入环境变量:此电脑>高级系统设置>环境变量>点击系统变量Path>编辑>新建>将复制路径填入后点击确定
        
    5. 将MySQL服务制作系统服务    
    	# 目的:可以不用启动服务端cmd,就是可以随时关闭mysql的服务端,达到开启自启动,自关闭,第一次安装MySQL成功之后,服务并没有启动,需要手动启动一次
        步骤:
        1. 先关闭已经启动的服务端
        2. 使用管理员方式再打开cmd窗口:
        	执行安装服务命令mysqld --install (不是管理员权限会报错:Install/Remove of the Service Denied!)        	
        3. 启动服务的方式
            第一种方式: 鼠标点击启动按钮
            第二种方式: 服务端执行命令net start mysql  # (管理员权限)
        如何停止服务
        	第一种方式:鼠标点击停止
            第二种方式:服务端执行命令net stop mysql # (管理员权限)
        如何卸载服务
    		1. 先停止服务
        	2. 服务端执行命令mysqld --remove
            
'''
	打开服务的方式:
		1. 在底部任务栏右键选择任务管理器  >>>>>  服务>找到MySQL右击启动
		2. 此电脑右键  >>>  管理  >>>  服务和应用程序 >>> 服务>左上角刷新>找到MySQL启动
		3. win + r  >>>  输入:services.msc  >>>  回车
'''

6.如何链接别人的mysql
	如果你连接的是别人电脑上的数据库,需要指定ip和port
	mysql -h 127.0.0.1 -P 3306 -u root -p 123 
    
7.如何卸载MySQL
    1. 先卸载服务
    2. 在关闭服务端
    3. 直接删除MySQL的文件夹

修改管理员密码及忘记密码怎么办

'''修改管理员密码前需要关闭客户端,管理员密码改完之后,一定要使用管理员账号登录'''

1.修改管理员密码
第一种方式:(需在未登录客户端状态下)
	格式:mysqladmin -u用户名 -p旧密码 password 新密码 
	# mysqladmin -u root -p password 96
    步骤:电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysqladmin -u用户名 -p旧密码 password 新密码
    
第二种方式: 需在客户端登录状况下执行命令
    格式:set password=PASSWORD('新密码');
    #set password=PASSWORD('97');
    步骤:电脑左下角放大镜>搜索cmd>右击以管理员身份运行>登录成功后直接执行命令set password=PASSWORD('密码');
    
快捷登录客户端方式:直接执行命令mysql -u root -p密码#mysql -u root -p97
    
# 直接输入mysql登录是游客模式
# 以后都用管理员模式登录,不要使用游客模式,游客模式只能查看,权限很低


2.忘记密码
用'跳过授权表'的形式再次启动服务端,'跳过授权表' >>>: 客户端在登录mysql的时候,只需要输入用户名即可,不再验证密码
步骤:
    1. 先停止服务
    2.再启动服务端跳过授权表:电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysqld --skip-grant-tables
    3.再开个cmd窗口使用客户端执行命令mysql -u root -p,不输入密码直接回车
    输入命令update mysql.user set password=password('新密码') where Host='localhost' and User='root';
    4. 退出客户端exit
    5. 停止服务端ctrl+c
    6. 再次以正常方式启动服务端

概念补充

库    >>>  文件夹

表    >>>  文件 (文件夹下的文件)

记录   >>>  数据 (文件夹下的文件下的一行行的数据)

'''
	information_schema库是mysql默认在内存中创建的库
'''

基本SQL语句

'''
1.在mysql中sql语句都要以分号;作为结尾!!!
2.退出客户端:  exit或者quit,加不加分号;都能执行
3.当不想重复编辑之前的命令可以箭头Pgup切换之前输入过的命令
4.当输入的命令不对时,又不想让服务端执行并返回报错信息可以用\c取消
5. 退出服务端:ctrl + c
6.\s查看MySQL信息
7.comment'这是注释’
'''