MySQL基础

数据演变史

存取发展史

数据库本质

数据库分类

SQL和NoSQL

MySQL简介

基本使用

系统服务

修改密码

操作的基本SQL语句

数据演变史

# 单独的文本文件
没有固定的存放位置:C:\a.txt D:\aaa\c.txt F:\bbb\b.txt
没有固定的数据格式: owen|111 tony$321 kevin~123
'''没有统一的标准,程序彼此无法兼容'''

# 软件开发目录规范
按照文件功能的不同规定了相应的位置
'''
 文件查找统一,但是没有解决格式的问题
'''
# 数据库的应用
 将数据处理部分统一

存取发展史

# 单机游戏阶段
数据各自保存在各自的计算机上 无法实现远程共享
  优点:'''无需互联网'''
        
# 多机游戏阶段
	数据统一基于网络保存到某个固定的服务器上 实现数据共享,但是必须要有互联网

"""
集群
   如果所有的数据全部存储到一台远程服务器上 
	那么数据的安全性降低 服务器的压力上升
	所以增加远程服务器的数量 数据同步保存 任务均匀分担
具有相同功能的多个服务器组合到一起 就可以称之为是集群
"""

数据库本质

"""
 数据库在微观层面就像运行在计算机上专门处理数据的进程(程序)
 eg:内存中的typora代码
 数据库在宏观层面就像提供给操作者一个简单快捷的操作进程的软件
  eg:typora界面
我们平时说的数据库大部分指的是操作数据库的应用软件
"""

# 数据库软件的本质其实也是一款CS架构的软件
  既然数据库本质是一款CS架构的软件,那会网络编程的程序员就可以编写一款数据库软件

数据库分类

# 关系型数据库
 1、有固定的的表结构(最主要的特征)
    eg:有固定字段的excel表格 id name gender
 2、表与表之间可以建立代码层面的关系
    eg:用户表与房屋表
        用户想要买房子, 那么用户数据和房屋数据就应该有关系,便于查看
# 常见数据库名称:
MyQSL : 关系数据库的代表,开源免费  使用频率极高
Oracle : 安全性极高 但是使用维护收费使用成本高
PostgreSQL : 支持二次开发(扩展功能)
MairaDB : 和MySQL为同一个作者,起初只是怕MySQL收费
sqlite : 小型数据库 携带方便但功能较少,主要用于本地测试使用
sql 、server  : 老牌数据软件
# 非关系型数据库
  1、没有固定的表结构,数据存取采取K:V键值对的形式(主要特征)
  {'name':'owen'} 
  {'username':'owen', 'pwd':123}
  2、表与表之间无法建立代码层面的关系
# 常见数据库名称:
  Redis : 目前最火的非关系型数据库,数据类型丰富,功能强大
  MongoDB : 最像关系型数据库的非关系数据库,用于爬虫和大数据
  Memvache : 现在不用了

SQL和NoSQL

"""
 数据库服务端支持很多的客户端来链接使用
  数据库自带的客户端 Python代码编写的  Java代码编写...所以很多语言
想要让服务端兼容诸多客户端 实现正常交互
  1、让服务端识别并自动切换对应语言
  2、统一的标准规范
  比较之下方式二更加合理:SQL语句和NoSQL语句
  
SQL语句:
  与关系型数据库交互的语言
NoSQL语句:
  与非关系型数据库交互的语言
"""
SQL有时候用来标识关系型数据库, 有时候标识SQL语句
NoSQL有时候用来标识非关系型数据库,有时候表示NoSQL语句

MySQL简介

# 版本问题
5.6X :使用最为广泛的稳定版本
5.7x :目前正在逐步过渡使用的版本
8.0x :最新版本,暂时不投入正常生产的环境使用
    
# 下载使用
官网:https://www.mysql.com/
1.点击步骤:
downloads
(GPL) Downloads
MySQL Community Server
Archives
选择版本和系统(以5.6.49为例)
点击下载对应的zip压缩包即可
mac和linux参考下列博客
# linux: 
https://www.cnblogs.com/Dominic-Ji/p/15124625.html
# mac: 
https://www.cnblogs.com/Dominic-Ji/articles/15402755.html
2.解压处理
建议压缩到D或者E、F盘的根目录方便查找
mysql-5.6.44-winx64.zip  >>>  mysql-5.6.44-winx64
    
# 目录结构
bin文件夹
mysqld.exe		服务端
mysql.exe		客户端
'''学习阶段服务端在本地启动即可'''
data文件夹        存放数据
my-default.ini文件  默认配置文件
README文件         说明书

OAPxU0.png

MySQL简介

必须要先启动服务端 再启动客户端链接
以F:\mysql-5.6.49-winx64为例
    
1.以管理员身份运行cmd
	切换到bin路径下
  	F:
    cd mysql-5.6.49-winx64
    cd bin
2.启动服务端 
	mysqld
# 维持cmd窗口不要关闭 重新打开一个新的cmd窗口
3.启动客户端链接服务端
先切换到bin路径下 
  	F:
    cd mysql-5.6.49-winx64
    cd bin
  然后直接输入mysql即可登录服务端
  '''不带用户名和密码 是游客模式(只能体验基本功能)'''
"""
启动服务端的时候 有可能会报错
解决策略
	拷贝报错信息 百度搜索
	mysql启动报错'错误代码'
"""

系统服务

# 针对不想切换路径,直接输入命令的解决措施就是添加环境变量
将F:\mysql-5.6.44-winx64\bin添加到系统环境变量
# 针对不想启动服务端,设置成开机自启解决措施就是编写固定的指令即可
  1.先确保之前测试的服务端关闭(直接点击关闭即可)
  2.重新以管理员的身份打开cmd窗口
  	mysqld --install
    # 结果大致显示: ... successfully
  3.初次启动需要人为干预
  	net start mysql
  4.关闭所有的cmd 随意打开一个cmd窗口 
  	输入mysql即可链接到服务端
    
"""
如果想要移除系统服务
	1.先停止服务端
	管理员身份运行cmd
	net stop mysql  
	2.移除系统服务
		mysqld --remove
"""

OAFDSO.png

修改密码

1、直接输入mysql登录
 默认为游客模式 没有太多操作的权限
2、使用用户名和密码的方式登录
 前期直接使用root用户
  mysql -u用户名 -p密码
# 管理员账户登录(第一次登录没有密码)
mysql -uroot -p 直接回车
提示输入密码
3、修改管理员密码
 方式一:
     在cmd窗口下直接修改(不要登录进去)
    mysqladmin -u用户名 -p原密码  password 新密码
     '''第一次无密码修改 -p后面不写即可'''
eg: mysqladmin -uroot -padmin123 password jason123
方式二: 
    登录状态下修改当前用户密码(先登录)
    
    set password=PASSWORD('新密码');  # 最新版不支持
"""
如何区分当前是否是游客模式
可以执行show database;
结果如果是两条 表示是游客
结果如果是四条及以上 表示是用户
""" 

OA1fSJ.png

操作的基本SQL语句

  • 重要概念
# 三要素
库   ——————   文件夹

表   ——————   文件

记录  ——————  文件里面的一行数据

# SQL语句分号作为结束符

"""
show databases;		查看所有的库名称
	类似于查看data文件夹内文件夹的名称
"""

OA3Gc9.png

  • 操作库的基本SQL语句

# 查
  show databases;  # 用来查看所有的库的名称
  show create database 库名; # 查看某个库的信息

# 增
  create database 库名;
    
# 改
  alter database 库名 charset='utf8';  # 修改字符串
 
# 删
 drop database 库名;

OAY3Ux.png

  • 操作表的基本SQL语句

"""
 表是存放在库下面的,所以操作表之前应该先确定是在那个库
 select database();
 结果如果是NULL就是当时没有切换到任何库下面
 切换指定库下
  use 库名;
在操作时,MySQL默认自带的都不要动
"""
create database 库名;
use 库名;

# 查
 show tables; # 查看库里面的所有的表名称
 show create table 表名; # 查看指定表信息
 describe 表名; # 指定查看表的字段信息,简写desc 表名;

# 增
  create table 表名(
                      字段名称1 字段类型1,
                       字段名称2 字典类型2

  );
# 改
alter table 表名 rename 新表名; 

# 删
  drop table 表名;

OAdTv8.png

  • 操作记录的基本SQL语句

'''
 想操作记录, 就得先有库和表
'''
# 查
 select * from 表名; # 查看表里面所有的数据
 select * from 库名.表名; # 查看指定库下面的指定表里面的所有数据
"""
 当表里面的字段太多,展示乱时,使用:
   select * from 库名.表名\G;
"""
select 指定字段 from 库名.表名; # 指定指定字段

# 增
  insert into 表名 values(值1,值2);  # 增加单条数据
  insert into 表名 values(值1,值2),(值3,值4);  # 增加多条数据
# 改
 update 表名 set 字段=新值 where 筛选条件;
    eg:
        update tt1 set name='lswyyds' where id=3;
# 删
delete from 表名 where 筛选条件;
eg:
    delete from tt1 where id=3;
'''
 如果不加筛选条件就是删除所有的数据
'''

OArvct.png

posted @   未月  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示