0%
数据库前戏
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| 储存数据
1 文件: 文件地址与数据格式杂乱(每个人都可以按自己的格式来存) 例如: user:xxx:age:xxx user.xxx.age.xxx user-xxx-age-xxx 从而出现↓↓↓
2 软件开发目录规范: 规定了数据存储的位置,例如: bin:启动文件 conf:配置文件 core:核心逻辑代码文件 db:数据文件 log:日志文件 lib:公共模块文件 ... (现在还是自己和自己玩,每个人的数据都自己储存--->单机游戏) 接着出现↓↓↓ 3 数据库: 实现了数据共享,每个人的数据都储存在一个数据库里--->网络游戏 但是存在安全问题--->所有人的数据都放在一个数据库里,这个数据库没了,所有人的数据就都没了 所以出现了--->数据库集群 图解↓↓↓ (从原先一个数据库存储数据到现在每收到一份数据,就往其他所以数据库发送一份数据,这样一个数据库没了,还有其他数据库,从而避免了一个数据库挂了,所有数据陪葬的问题)
|

数据库分类
1 2 3 4 5 6 7 8 9 10 11 12
| 数据库本质就是一款cs架构软件(client--->客户端,server--->服务端)
数据库相关软件: 1 关系型数据库:(记) 固定表结构并且表与表之间可以建关系 常见软件:mysql --- postgresql---sqlite---db2---oracle---access---sql server 2 非关系型数据库:(记) 没有固定表结构并且储存数据以key value键值对的形式(类似字典) 常见软件:MongoDB---redis---memcache(逐渐淘汰)
|
MySQL简介
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| ''' MySQL本质上也是一款基于网络通信的应用程序 '''
任何基于网络通信的软件底层肯定都是socket
服务端 基于socket通信 本地文件操作 解析指令(SQL语句) 客户端 基于socket通信 发送指令 解析指令(SQL语句) SQL语句的由来: ''' mysql不单单支持mysql客户端操作,也支持其他编程语言来操作 python、Java、php、c++、go... 这些编程语言语法都不一样,mysql如何做到兼容↓↓↓ 两种思路 1 自己精通多种语言,自由切换(不现实,且切换也需要耗费资源) 2 统一的思想(采用统一的一种语言--->sql语句) '''
|
重要概念介绍
1 2 3 4 5 6 7 8
| ''' 库 ------> 文件夹 表 ------> 文件夹里的文件 记录 ------> 文件内一行行的数据
表头 ---> 表格的第一行数据 字段 ---> 字段名 + 字段类型 '''
|
下载与安装
1 2 3 4 5 6 7
| 1 版本问题 5.6(主流,逐渐向 5.7 过度) 5.7(主流) 8.0(最新版,一般不采用最新版本)
2 下载 官网 ---> 选择版本 ---> 下载压缩包 ---> 解压安装
|
系统服务配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 1 环境变量添加 我的电脑 ---> 属性 ---> 高级配置 ---> 环境变量 ---> path ---> 将bin目录路径添加进去 2 系统服务制作(全部在管理员身份下操作) mysqld --initialize-insecure services.msc mysqld --install net start mysql net stop mysql ps(windows操作系统上没有重启mysql服务的命令,如果需要重启服务,只能先stop再start)
|
用户登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mysql -u用户名 -p密码 ---> 密码可以换行再输入,会将输入的密码隐藏成*****,如果在-p后直接输入密码,则是明文
直接输入mysql 则进入游客模式,有很多限制
1 跳过授权表启动 mysqld --skip-grant-tables 2 无密码登录 mysql -uroot -p 3 修改用户密码(修改对应用户的密码) update mysql.user set password=password(新密码) where user="root" and host="localhost"; 4 退出正常启动
|
配置文件
1 2 3 4 5 6 7 8 9 10 11 12
| mysql默认配置文件my-default.ini不能修改 自己创建并命名my.ini
my.ini文件内容 ---> 将字符编码改成utf8,Windows默认gbk [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8
|
基本SQL语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| -------------------------------- 库的增删改查 -----------------------------------------
create database 库名(文件夹名)
alter database 库名(文件夹名) charset='gbk'; alter database ...
show database; show create database db1(按创建的库名查)
drop database 库名(文件夹名);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| --------------------------------- 表的增删改查 -------------------------------------- 注意:要先切换到需要操作的库里(文件夹里)--->use 库名(文件夹名) 查看当前所在的库(文件夹):select database();
create table 表名(文件名) (id int,name char(4));
alter table 表名 modify name char(16);
show tables; show create table 表名; describe 表名; == desc 表名;
drop table 表名;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| ----------------------------------- 记录的增删改查 -------------------------------------
insert into 库名.表名 values(1,'xxx'); insert into 库名.表名 values(2,'xxx'),(3,'xxx'),(4,'xxx')
update 库名.表名 set name='XXX' where id > 1; update 库名.表名 set name='XXX' where id = 2 or id = 3;
select id,name from 库名.表名; select * from 表名;
delete from 库名.表名 where id > 3; delete from 库名.表名 where name='XXX'; delete from 库名.表名;
库 == 表:show(查)、alter(改)、create(增)、drop(删) ps(表:查看当前所在库:select 库名()) (关键字后要带database/table 再+具体库名/表名)
记录:select(查)、update(改)、insert into(增)、delete(删)
|
总结
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| 1 数据库发展史: bs/cs架构 文件存储(单机) ---> 存储在一个数据库上(不安全) ---> 数据库集群(联机) 2 数据库分类 2.1 关系型数据库 -固定的表结构,表与表之间可以简历关联 -常见软件:mysql、postgresql、oracl、sqlite、db2、sql server access 2.2 非关系型数据库 -没有固定的表结构,存储数据按照kv键值对的格式(类似字典) -常见软件:MongoDB、redis、memcache ''' 常见软件最好能记住默认端口号 -mysql -3306 -redis -6379 -MongoDB -27017 -Django -8000 -flask -5000 '''
3 mysql简介 3.1 版本问题 -SQL语句的由来 -统一思想 3.2 下载与安装
4 环境变量及系统服务 4.1 先添加环境变量 4.2 命令 mysqld --install net start mysql net stop mysql mysqld --remove 5 用户登录及密码相关 mysql 游客模式 mysql -u用户名 -p密码 5.1 直接修改 mysqladmin -u用户名 -p原密码 password 新密码 5.2 忘记密码 ...
6 重要概念 -库 ---> 文件夹 -表 ---> 文件 -数据 ---> 文件内一行行数据
7 配置文件 my.ini ...
8 基本SQL语句 ...
|