初识MySQL

数据库

1 数据库前戏

 

 

储存数据

1 文件:
文件地址与数据格式杂乱(每个人都可以按自己的格式来存) 例如:
   user:xxx:age:xxx
   user.xxx.age.xxx
   user-xxx-age-xxx
   从而出现↓↓↓

2 软件开发目录规范:
规定了数据存储的位置,例如:
   bin:启动文件
   conf:配置文件
   core:核心逻辑代码文件
   db:数据文件
   log:日志文件
   lib:公共模块文件
  ...
  (现在还是自己和自己玩,每个人的数据都自己储存--->单机游戏)
   接着出现↓↓↓
   
3 数据库:
实现了数据共享,每个人的数据都储存在一个数据库里--->网络游戏
   但是存在安全问题--->所有人的数据都放在一个数据库里,这个数据库没了,所有人的数据就都没了
   所以出现了--->数据库集群 图解↓↓↓
  (从原先一个数据库存储数据到现在每收到一份数据,就往其他所以数据库发送一份数据,这样一个数据库没了,还有其他数据库,从而避免了一个数据库挂了,所有数据陪葬的问题)

2 数据库分类

 

 

数据库本质就是一款cs架构软件(client--->客户端,server--->服务端)


数据库相关软件:
1 关系型数据库:(记)
  固定表结构并且表与表之间可以建关系
       常见软件:mysql --- postgresql---sqlite---db2---oracle---access---sql server

       2 非关系型数据库:(记)
       没有固定表结构并且储存数据以key value键值对的形式(类似字典)
       常见软件:MongoDB---redis---memcache(逐渐淘汰)

3 MySQL简介

'''
MySQL本质上也是一款基于网络通信的应用程序
'''

任何基于网络通信的软件底层肯定都是socket


服务端
   基于socket通信
   本地文件操作
   解析指令(SQL语句)
   
  客户端
   基于socket通信
   发送指令
   解析指令(SQL语句)
   
SQL语句的由来:
'''
mysql不单单支持mysql客户端操作,也支持其他编程语言来操作
python、Java、php、c++、go...
这些编程语言语法都不一样,mysql如何做到兼容↓↓↓
两种思路
1 自己精通多种语言,自由切换(不现实,且切换也需要耗费资源)
2 统一的思想(采用统一的一种语言--->sql语句)
'''

4 重要概念介绍

'''
库   ------>   文件夹
表   ------>   文件夹里的文件
记录 ------>     文件内一行行的数据

表头     --->     表格的第一行数据
字段     --->     字段名 + 字段类型
'''

5 下载与安装

 

 

1 版本问题
5.6(主流,逐渐向 5.7 过度)
   5.7(主流)
   8.0(最新版,一般不采用最新版本)

2 下载
官网 ---> 选择版本 ---> 下载压缩包 ---> 解压安装

6 系统服务配置

1 环境变量添加
我的电脑 ---> 属性 ---> 高级配置 ---> 环境变量 ---> path ---> 将bin目录路径添加进去
   
2 系统服务制作(全部在管理员身份下操作)
        # 初始化(5.7之前需要先初始化)
        mysqld --initialize-insecure
        # 查看系统服务
        services.msc
        # 制作成系统服务
        mysqld --install
        # 启动服务
        net start mysql
        # 停止服务          
        net stop mysql
        ps(windows操作系统上没有重启mysql服务的命令,如果需要重启服务,只能先stop再start)

 


   

7 用户登录

 

 

# 管理员初次登录无需密码
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 退出正常启动

 

8 配置文件

mysql默认配置文件my-default.ini不能修改
自己创建并命名my.ini
# \s 查看基本信息
​
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

 

9 基本SQL语句

 

 

-------------------------------- 库的增删改查 -----------------------------------------
# 增:
create database 库名(文件夹名)

#
alter database 库名(文件夹名) charset='gbk';
alter database ...

#
show database;
show create database db1(按创建的库名查)

#
drop database 库名(文件夹名);

 

--------------------------------- 表的增删改查 --------------------------------------
注意:要先切换到需要操作的库里(文件夹里)--->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 表名;

 

----------------------------------- 记录的增删改查 -------------------------------------
#
insert into 库名.表名 values(1,'xxx'); # 增加单条数据
insert into 库名.表名 values(2,'xxx'),(3,'xxx'),(4,'xxx') # 增加多条数据

#
update 库名.表名 set name='XXX' where id > 1; # 修改名字,条件放在where后
update 库名.表名 set name='XXX' where id = 2 or id = 3; # where后可以用逻辑运算符

#
select id,name from 库名.表名; # 库名可不指定,默认当前库
select * from 表名; # 根据表名查看该表下所有记录

#
delete from 库名.表名 where id > 3; # 根据where后的条件判断需要删除哪些记录(数据)
delete from 库名.表名 where name='XXX';
delete from 库名.表名; # 删除该表中的所有记录(数据)


# 总结:
库 == 表:show(查)、alter(改)、create(增)、drop(删)  ps(表:查看当前所在库:select 库名())
(关键字后要带database/table 再+具体库名/表名)

记录:select(查)、update(改)、insert into(增)、delete(删)

 

总结

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简介
	# ps:防呆思想
    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语句
	...
        



posted @ 2021-04-27 16:11  Jerry`  阅读(54)  评论(0编辑  收藏  举报