MySQL微讲解

MySQL微讲解

数据演变史

# 1.单独的文本文件
	没有固定的存放位置和固定的数据格式,程序彼此无法兼容,没有统一的标准
# 2.软件开发目录规范
	按照文件功能的不同规定了相应的位置,文件查找变得统一,但是并没有解决格式问题
# 3.数据库应用
	解决了存放位置和数据格式问题,将数据处理部分统一了起来

数据库应用发展史

# 1.初始阶段
	初级阶段就象单机游戏一样,数据只能各自保存在各自的计算机上,无法实现远程共享
# 2.高级阶段
	高级阶段就象联网游戏一样,数据统一基于网络保存到某个固定的服务器上,实现数据共享
# 集群
	如果所有的数据全部存储到一台远程服务器上,那么数据的安全性会降低,服务器的压力也会上升,所以就会增加远程服务器的数量,数据同步保存,任务均匀分担,具有相同功能的多个服务器组合到一起,就可以称之为是集群。

数据库的本质

# 数据库简介
	1.微观层面:运行在计算机上专门处理数据的进程
	2.宏观层面:提供给操作者一个简单快捷的操作进程的软件

数据库分类

1.关系型数据库

# 简介
	1.有固定的表结构(最主要的特征)
    2.表与表之间可以建立代码层面的关系
# 常见关系型数据库名称及简介
	1.MySQL:关系型数据库的代表,开源免费,使用频率极高
	2.Oracle:安全性极高,但是使用和维护要收费,使用成本较高
	3.PostgreSQL:支持二次开发(自己嫁接、扩展功能)
	4.MariaDB:与MySQL是同一个作者
	5.sqlite:小型数据库,携带方便,但是功能较少,主要用于本地测试使用
	6.sql server:老牌数据库,目前主流不用

2.非关系型数据库

# 简介
	1.没有固定的表结构,数据采取k:v键值对的形式(最主要的特征)
	2.表与表之间无法建立代码层面的关系
# 常见非关系型数据库名称及简介
	1.Redis:目前最火的非关系型数据库,数据类型丰富,功能强大
	2.MongoDB:最象关系型数据库的非关系型数据库,主要用于爬虫和大数据
	3.Memcache:被redis取代了

SQL与NoSQL

# SQL
	与关系型数据库交互的语言,有时候用来表示关系型数据库,有时候表示SQL语句
# NoSQL
	与非关系型数据库交互的语言,有时候用来表示非关系型数据库,有时候表示NoSQL语句

MySQL简介

# 1.版本问题
	(1)5.6X:使用最为广泛的稳定版本
	(2)5.7X:目前正在逐步过渡使用的版本
	(3)8.0X:最新版本,暂时不投入正常生产环境使用
# 2.下载
	1.官网:https://www.mysql.com/
	2.进入官网之后点击:DOMNLOADS-->MySQL Community (GPL) Downloads-->MySQL Community Server-->Archives-->在这里选择版本号和系统
# 3.目录结构
	1.bin文件夹:
        mysqld.exe:服务端
		mysql.exe:客户端
	2.data文件夹:存放数据

基本使用

	必须先要启动服务端,在启动客户端链接
# 1.启动服务端
	以管理员身份运行cmd,然后切换到mysql文件的bin文件路径下,然后输入'mysqld',注意'维持cmd窗口不要关闭,重新打开一个新的cmd窗口用于打开客户端'
# 2.启动客户端链接服务端
	打开一个新的cmd窗口,不用管理员身份打开,打开之后切换到bin文件路径下,然后直接输入'mysql'即可登录服务端,这里登录的只是游客模式,不带用户名和密码

系统服务

# 1.添加环境变量
	把bin文件路径添加到系统环境变量中,这样我们就不用切换路径,直接输入服务命令即可
# 2.设置服务开机自起
	1.先关掉刚刚测试的服务端窗口(确保关闭)
    2.重新以管理员身份打开一个cmd窗口,然后输入命令'mysqld --install',如果结果有'... successfully'即为成功,初次启动需要人为干预,输入命令'net start mysql'
    3.关闭所有的cmd窗口,随意打开一个cmd窗口,输入mysql即可链接到服务端
# 3.移除系统服务
	1.先停止服务端
    	net stop mysql  # 管理员身份运行cmd
	2.移除系统服务
    	mysqld --remove

修改密码

# 1.游客模式
	直接输入mysql登录默认是游客模式,没有太多的操作权限,没有用户名和密码
# 2.用户名和密码的方式登录
	1.管理员账号登录
    	mysql -uroot -p  # 直接回车,然后会提醒你输入密码
# 3.修改密码
	1.在cmd窗口下直接修改(不要登录进去)
    	mysqladmin -uroot -p原密码 password 新密码  # 第一次登录没有密码的话p后面不用跟即可
	2.登录状态下修改当前用户密码(先登录)
    	set password=PASSWORD('新密码');  
# 4.如何区分是否是游客模式
	执行show database;  # 如果输出的信息里面至于两条就是游客模式,如果有四条及以上就是用户

重要概念

1.库:类似于文件夹
2.表:类似于文件夹中的文件
3.记录:类似于文件中的一行行数据
'''SQL语句使用分号作为结束符'''

操作库的基本SQL语句

1.查

show databases;  # 查看所有库的名称
show create database 库名;  # 指定查看某个库的信息
### 2.增
create database 库名;

3.改

alter database 库名 charset='gbk';  # 修改字符编码

4.删

drop database 库名;

操作表的基本SQL语句

1.确定库

	表是存放于库下面的,所以操作表之前,应该先确定库
# 1.查看当前在哪个库下
	select database();  # 如果是null表示当前没有切换到任何库下
# 2.切换到指定库
	use 库名;
'''强调我们在操作库、表、记录的时候,MySQL默认自带的都不要动'''
### 2.查
show tables;  # 查看当前库下所有的表名称
show crate table 表名;  # 指定查看某个表的信息
describe 表名;  # 指定查看表的字段信息,简写 desc 表名;

3.增

create table 表名(
		字段名称 字段类型,
    	字段名称 字段类型,
);

4.改

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

5.删

drop table 表名;

操作记录的基本SQL语句

​ 要想操作记录,必须要先有库和表

1.查

select * from 表名;  # 查看表里面所有的数据
select * from 库名.表名;  # 查看指定库下面的指定表里面的所有数据
  """
  有些表里面的字段太多,展示的时候会错乱,可以考虑逐行展示
  select * from 库名.表名\G;
  """
select Host,User from mysql.user  # 查看指定字段

2.增

insert into 表名 values(值1,值2);  # 单条数据
insert into 表名 values(值1,值2),(值3,值4);  # 多条数据

3.改

update 表名 set 字段=新值 where 筛选条件;

4.删

delete from 表名 where 筛选条件;  # 如果不加筛选条件就是删除所有数据

这里是IT小白陆禄绯,欢迎各位大佬的指点!!!

posted @ 2022-05-03 19:51  陆禄绯  阅读(23)  评论(0编辑  收藏  举报