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小白陆禄绯,欢迎各位大佬的指点!!!