数据的演变史
# 以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:开源免费的
Oracle:不开源,收费
MariaDB:开源的
2. 非关系型数据库
Redis缓存数据库(新项目使用)memcahce缓存数据库(老项目有再用)、MongoDB(爬虫)
'''redis淘汰了memcahce'''
3. 二者的特点
"""
关系型数据库:
拥有固定的表结构,表与表之间可以建立关系
非关系型数据:
没有固定的表结构,它是以K:V键值对的形式存储数据
name------------------->kevin
age-------------------->20
"""
sql与NoSql
# 服务端为了兼容各个客户端的交互,统一规定了交互格式:
mysql >>>>>>: sql
redis >>>>>>>: nosql
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/ >>>>>> DOWNLOAD >>>>
# 下载下来之后,是一个zip的压缩包,去解压文件
4. mysql目录介绍:
# bin
mysql.exe # 这个是mysql自带的客户端
mysqld.exe # 这个是mysql的服务端
# data
'''它是mysql的存储数据的地方'''
my-defalut.ini # 这个是mysql的配置文件
README # 是说明文件
5. 如何使用mysql
1. 先启动服务端,要去到bin路径下找到mysqld.exe启动文件
2. 启动客户端(新建一个cmd窗口出来),链接服务端(服务端的cmd窗口不能关闭)
3. ctrl + c是停止服务的
4. 把mysqld服务端所在的路径加入到环境变量中
5. 制作系统服务
# 目的:就是可以随时关闭mysql的服务端,达到开启自启动,自关闭
1. 先关闭已经启动的服务端
2. 在打开cmd窗口:
mysqld --install (Install/Remove of the Service Denied!) # 没有权限
'''使用管理员方式启动cmd'''
# 第一次安装成功之后,服务并没有启动,需要手动启动一次
3. 启动服务的方式:
1. 鼠标点击启动按钮
2. net start mysql # (管理员权限)
4. 停止服务
1. 鼠标点击停止
2. net stop mysql # (管理员权限)
5. 如何卸载服务
1. 先关闭服务
2. mysqld --remove
# 如何退出客户端: exit
'''
打开服务的方式:
1. 在底部任务栏右键选择任务管理器 >>>>> 服务
2. 此电脑右键 >>> 管理 >>> 服务和应用程序 >>> 服务
3. win + r >>> 输入:services.msc >>> 回车
'''
修改管理员密码及忘记密码怎么办
1. 修改管理员密码
mysqladmin -u用户名 -p旧密码 password 新密码
# mysqladmin -u root -p password 123
2. set password=PASSWORD('密码')
'''管理员密码改完之后,一定要使用管理员账号登录:'''
mysql -u root -p密码
# 直接输入mysql登录是游客模式
# 以后都用管理员模式登录,不要使用游客模式,游客模式只能查看,权限很低
'''忘记密码了怎么办?'''
1. 先停止服务端
2. 用'跳过授权表'的形式再次启动服务端
mysqld --skip-grant-tables
'跳过授权表' >>>: 客户端在登录mysql的时候,只需要输入用户名即可,不在验证密码
3. 用管理形式登录成功之后,进行修改密码
# 下面的命令先了解,你看不懂
update mysql.user set password=password('123') where Host='localhost' and User='root';
4. 退出客户端,终止服务端
5. 不要在使用跳过授权表了,正常启动服务
以上的修改密码可参考此连接博客,我觉得写得很清晰:https://www.cnblogs.com/rmxd/p/11236736.html
概念补充
库 >>> 文件夹
表 >>> 文件夹下的文件
记录 >>> 文件夹下的文件下的一行行的数据
'''
information_schema库是mysql默认在内存中创建的库
'''
基本SQL语句
'''在mysql中,sql语句都要以分号结尾!!!'''
1. 如何查看所有的数据库
show databases; # 查看所有数据库
2. 如何选择数据库
use 库名;
user mysql;
3. 查看当前在哪个库下
select database();
针对库的sql语句
1. 查看库
show databases; # 查看所有库
show create dabatabse db1; # 查看具体库的信息
2. 增加库
create database 库名;
3. 修改库 # 一般很少用,甚至于不用
# alter database 库名 charset='gbk'
alter database db1 charset='gbk'
4. 删除库
drop database 库名
drop database 库名;
drop database db1;
针对表的sql语句
1. 查看表
show tables; # 查看库下的所有表
desc t1; # 查看表结构
show create table t1;
2. 增加表
create table t1(id int, name varchar(10));
3. 修改
# 修改表明
alter table t1 rename tt1; # 重命名表名
4. 删除
drop table tt1;
标签:python,数据库,MySQL,密码,版本,mysql,服务端
From: https://www.cnblogs.com/huangchunfang/p/17542402.html