python基础day41
数据的演变史
以ATM为例
1. 把数据存在文件中
文件名:user.txt、userinfo.txt
数据格式:kevin|123、kevin@123等
2. 软件开发目录规范
db文件夹
专门用来存储数据文件的,但是当数据文件较多的时候,占用过多的资源,也会产生很多的文件
数据的发展史
1. 单机游戏阶段
数据会单独存放在每一台计算机上,没有实现数据的共享
2. 联网游戏阶段
实现了数据的共享、把数据单独存放在服务器上(一台计算机专门存放数据)
数据的分类
1. 关系型数据
MySQL、Oracle、SQL server、DB2、sqllite、access、MariaDB等
MySQL数据库:开源的
MariaDB
以上两个是同一个作者开发的
Oracle:收费的
2. 非关系型数据库
Redis(缓存数据库)、memcache(缓存数据库)、mongoDb(爬虫等)
Redis数据库是目前市面上使用最多的
Redis数据库把memcache淘汰了,没有用memcache(老项目以前用的,现在没有更换,还在用)
Redis能做的事情,memcache不能做
memcache不能做的使用,Redis都能做
Redis支持的数据类型要不memcache多的多
二者的特点
1. 关系型数据库顾名思义就是可以建立关系
拥有固定的表结构,表与表之间可以简历表关系
2. 非关系型数据不能够建立表关系
它是以k:v键值对的形式建立的
没有表的概念
数据库的本质
本质:其实是一款C/S架构的软件
C/S架构的软件必须是有客户端和服务端的,理论上来说,我们自己也能够开发出一款数据库软件,只不过你开发的数据库软件是没有人使用的,除非你自己自嗨。
所以,你会市面上有很多NB的程序员开发出了很多的数据库软件,因此,你也看到了的确存在了很多的数据库
要站在巨人的肩膀上才能走的更高!,很多事情不要想着什么都自己来做
SQL与NoSql的由来
对于关系型数据库,为了兼容各个客户端,所以,每个客户端都要使用MySQL语言,而这个MySQL语言就是我们说的SQL语句----->关系型数据库
非关系型数据库:Nosql语句
MySQL的介绍
版本的介绍
MySQL5.0 (版本不稳定)
MySQL5.5 (用的很少,老项目还再用)
MySQL5.6 (老项目用的比较多,版本很稳定)
MySQL5.7 (新项目在选择数据库的时候,使用的就是这个版本了)
MySQL8.0 (最新版本,现在生产环境用的还不是很多)
ps:在IT领域,生产环境尽量不要使用最新版本,因为,新版本毕竟没有经过大量的测试,不够稳定。
生产环境:你的项目上线之后的环境
测试环境:你在本地自己玩,无所谓了
MySQL的下载与安装
MySQL5.6----->国外的----->进入网站很慢
1. 直接取官网取下载相应的安装包:https://downloads.mysql.com/archives/community/
Threads----->facebook------>24h注册用户500万----->insstram
2. 下载完成之后,如何使用?
下载之后是一个压缩包,解压完成即可
3. MySQL的主要文件介绍
bin: 存放mysql的一些启动文件
mysql.exe : MySQL自带的客户端
mysqld.exe:MySQL自带的服务端
data:mysql数据的存储文件夹
my-default.ini:MySQL的配置文件
README:MySQL的说明文件
4. MySQL如何启动
由于MySQL是有客户端和服务端的,因此,我们要启动服务端和客户端来使用
1. 记住一定是先启动服务端:mysqld.exe
2. 然后启动客户端去连接服务端
如何启动:
1. 先切换路径到bin目录下
打开cmd----->输入mysqld启动服务端----->在打开一个cmd窗口---->输入 mysql连接服务的
2. 客户端连接上服务端之后,如何退出客户端:
exit
3. 服务端启动之后,如何终止(停掉)服务端
ctrl + C
ps:
localhost:代表的就是本机
127.0.0.1:代表的也是本机
某些情况下,这两个是有区别
5. 加入环境变量
D:\mysql-5.6.45-winx64\bin加入到环境变量中,达到在任何位置都可以找到服务端和客户端程序
6. 系统服务制作
1. 先打开cmd窗口
mysqld --install # Service successfully installed
第一次安装成功,需要手动启动一次
2. 如何启动服务
1. 鼠标点击启动按钮
2. net start mysql
3. 如何关闭服务
1. 鼠标点击启动按钮
2. net stop mysql
4. 如何卸载MySQL服务
mysqld --remove
ps:以上操作都需要管理员权限
7. 卸载MySQL
1. 先卸载服务
2. 在关闭服务端
3. 直接删除MySQL的文件夹
管理员修改密码及忘记密码怎么办
# 登录MySQL 1. 游客模式登录:mysql # 但是,功能很少,权限很低 2. 管理员登录:mysql -u root -p # 直接回车就登录成功了 3. 如果你连接的是别人电脑上的数据库,需要指定ip和port mysql -h 127.0.0.1 -P 3306 -u root -p 123 4. 给管理员设置密码 mysqladmin -u root -p 旧密码 password 新密码 5. 如果密码忘记了怎么办? """使用跳过授权表的形式""" 1. 先把服务端关闭 2. 使用'跳过授权表'的形式启动服务端 mysqld # 不'跳过授权表' mysqld --skip-grant-table # '跳过授权表' """跳过授权表的意思是:客户端在连接服务端的时候,不需要验证密码了,直接登录成功""" 3. 再次使用管理员账号来登录进去,就不需要密码了 # 进入mysSQL之后,需要修改密码 update mysql.user set password=password('root') where Host='localhost' and User='root'; flush privileges; # 刷新权限 退出客户端 退出服务端 4. 改完之后,一定要终止服务端,从新不跳过授权表,启动服务端,再次使用管理员登录即可
MySQL的配置文件
mysql的默认配置文件:my-default.ini 配置文件有什么用? # 修改字符编码 在my.ini中输入一下内容 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8 # 以后只要配置文件发生了改变,一定要重启服务端,配置文件才生效 \s 输出一些MySQL的基本信息
重要的概念
库 >>> 文件夹
表 >>> 文件夹中的文件
记录 >>> 文件夹中的文件中的一行行数据
先有库,在有表,最后有记录
先创建数据库,在库里面创建数据表,最后在表中插入记录
数据库相关命名
1. 查看所有的数据库 show databases; information_schema # 默认创建在内存中的数据库 mysql # MySQL默认创建的数据库,不要动 performance_schema # test # 空数据 show create database 库名; # 查看数据库的基本信息 2. 如何选择数据库 use 库名; use mysql; 3. 如何增加数据库 create database db1; 4. 如何删除数据库 drop database db1; 5. 修改数据库 # 一般情况下, 我们只要创建了数据库,就不会去修改,如果要修改,就直接删掉,从新创建 alter database db1 charset='gbk';