MySQL(1)

数据演变史

1、单独的文本文件
	在这段期间没有固定的存放位置和格式
	文件名和数据格式都不统一,程序员彼此之间是无法兼容的
2、软件开发目录规范
	规定了文件名和存储位置,文件的查找变得更加简单了,但是并没有解决核心问题
3、数据库阶段
	规定了文件的存储位置和数据格式,也正是目前正在使用的阶段,解决了核心问题

数据存储发展史

1、单级游戏阶段:数据各自保存在各自的计算机上,无法实现共享
2、多级游戏阶段,数据统一保存在某个固定的服务器上(计算机上),前提必须是有网络,为了数据的安全,还会采用集群策略来分担风险。

数据库的本质

数据库的本质是一款cs架构的软件,所以谁都可以写。
数据库在狭义层面上来说,指的是处理数据的底层程序,从广义层面上来说指的是操作这些底层程序的便捷的应用软件。其实我们学习的是数据哭软件。

数据库的分类

数据库分为关系型数据库和非关系型数据库
1、关系型数据库:MySQl(开源免费,使用非常广泛),Oracle(收费,维护成本高,大型公司使用),PistgreSQL(支持2次开发),MariaDB(是MySQL的替代产品,并且有自己的特性),sqlite(小型数据库,django框架自带数据库),sql server,db2
2、非关系型数据库 
Redis(目前最火的缓存数据库,具有很多数据类型,功能强大),mangodb(文档型数据库,可以用在大数据和爬虫领域),memcache(几乎已经淘汰)。

两类数据库的区别

关系型数据库:拥有固定的表结构,并且表与表之间可以建立代码层面的关系。
非关系型数据库:没有固定的表结构,数据存储采用的是kv健值对的形式
两大类数据库操作逻辑基本一致,每一类学习一个基本可以掌握所有

SQL和NoSQL的由来

数据库的服务端为了能够兼容不同类型的客户端实现数据交互,所以规定了统一的交互方式,关系型数据库用的是SQL语句,非关系型数据库用的是NoSQL语句,NoSQL有时候也表示关系型数据库。

MySQL

一、版本

5.6:当前市面上使用较高的版本 
5.7:目前正字啊过渡的版本
8.0:目前最新的版本
不同的版本的sql语句几乎是一模一样的

二、软件安装

三、文件目录介绍

1、bin文件夹:mysqld.exe服务端 mysql.exe客户端
2、data文件夹:存储过程中需要保存的数据
3、my-default.ini 配置文件
4、readme 说明文件
5、基本使用

🌹widows:
(1)一定要先启动服务端,再启用客户端 前期在使用的时候最好使用管理员的账号
(2)配置环境变量
(3)输入mysqld启动服务端,这是服务端,窗口不能关掉
(4)开设新的cmd窗口操作客户端,直接以mysql登入是游客模式登入,mysql -u root -p+密码(完善形式:mysql -h+ip地址 -P+端口号 -u+用户名 -p+密码)
值得注意的是:root用户没有密码,直接回车即可

🌹mac本:mac:https://www.cnblogs.com/Dominic-Ji/articles/15402755.html

系统服务

将MySQL的服务端制作成系统服务,开机自启动,关机自关闭
1、先关闭之前的服务端
2、查看当前的计算机的系统服务列表 servises.msc 
3、以管理员身份运行cmd输入命令:mysqld --install(添加系统服务
4、第一需要手动启动 方式1:鼠标右键 方式2:命令行 net start mysql即可 停止服务:net stop mysql 移除系统服务:mysqld --remove 

密码相关

1、设置密码 
(1)直接在cdm窗口内:mysqladmin -uroot -p+原密码 password+新密
(2)直接在登入状态下 set password=PASSWORD('密码') 
2、忘记密码 
方式1:前期数据库没有数据,可以删掉重来 
方式2:
(1)关闭服务端 以跳过授权表的方式重新启动服务端
只需要提供用户名就可以登入,mysqld --skip-grant-tables
(2)以管理员身份登入 mysql -uroot -p
(3)修改管理员密码 update mysql.user set password=PASSWORD(123) where user='root'and host='localhost'
(4)关闭服务端再正常启动 ctrl+c net start mysql 
(5)用修改之后的密码登入

MySQL概念

库-->文件夹
表-->文件夹的文件
记录-->文件里面的内容

基本SQL语句

1、show databases; 查看数据库名称 会有1个临时产生在内存的库
2、use+库名;切换数据库
3、show table;查看所有的表
4、select * from 表名;查看表里面所有的内容

针对库的SQL语句

增
	create database + 数据库名字;
查
	show databases;
	show create database + 数据库名;
改
	更改编码alter database 数据库名字 charset='gbk';
删
	drop database 数据库名;

针对表的SQL语句

先创建库:create database+库名;
查看当前的库:select database();
再选择库:use+库名;

增 
	create table +表名(字段1 类型1,字段2 类型2);
查 
	查看所有的详情:show tables;
	查看指定的表:show create table 表名; 
	查看表的详情:describe +表名;
改 
	alter table 表名 rename + 新名字;
	alter table 表名 表名 change idnid int;
	alter table 表名modify nid char (4);

⚠️注意事项
1、 如果想要改变的是字段的名称和数据类型那么使用change
2、如果想要改变列的类型而不是名称,使用modify改变数据类型

删
	drop table 表名;

针对记录的SQL语句

增:
	insert into 表名 values(),(),();
查:
	select 字段名 from 表名 where +条件;
	select * from 表名;
改:
	update 表名 set 字段名=值 where + 条件;
删
	delete from 表名 where 条件; 没有条件就是删所有

字符编码

1、查看MySQL默认的字符编码 \s
image
utf8mb4-->可以存储表情包

2、设置字符编码

1、拷贝mydefault.ini 并且重新命名为my.ini
2、设置配置
3、重启MySQL服务端
posted @ 2022-02-17 15:22  JudyJU  阅读(40)  评论(0)    收藏  举报