MySQL数据库初识、下载使用(针对库、表、记录的增删改查)

今日内容概要

  • 数据演变史
  • 数据库软件的本质
  • MySQL简介
  • 下载与安装
  • 基本配置
  • 基本SQL语句

内容详细

1.数据演变史

# 1.单独的文本文件 
	没有固定的存放位置和格式
	文件名:user.txt userinfo.txt data.txt
	数据格式:jason|123 tony~123 kevin$123
	"""程序彼此之间无法兼容"""
    
# 2.软件开发目录规范
	规定了文件名和存储位置
	"""文件的查找变得简单了 但并没有解决核心问题"""
    
# 3.数据库阶段
	规定了文件的存储位置和数据格式
	"""目前正在使用的阶段 解决了核心问题"""

2.数据存储发展史

# 1.单机游戏阶段
	数据各自保存在各自的计算机上 无法实现共享

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

3.数据库的本质

# mysql数据库管理软件是一个cs架构的套接字程序
	该程序的基本流程就是客户端提交命令给服务端运行,然后服务端将结果返回给客户端,所以说白了数据库管理软件如mysql本质就是一个远程执行命令的套接字程序,数据库管理软件提供的这套命令称之为sql
    
# 本质也是一款cs架构的软件
	既然数据库本质是一款cs架构的软件 也就意味着我们每个人都可以编写一个数据库软件
	在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 并且目前市面上真的有很多款数据库软件
    
"""
数据库在狭义层面上来说
	指的是处理数据的底层程序
	
数据库在广义层面上来说
	指的是操作这些底层程序的便捷应用软件
	
其实学习数据库很多时候学习的是配套的数据库软件
"""

4.数据库的分类(重点)

# 市面上有很多数据库软件 但是大致就分为两类
	1.关系型数据库
		MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server、db2
        
		MySQL:开源免费 使用非常规范
		Oracle:收费 维护成本高 大型公司可能会使用
		PostgreSQL:支持二次开发
		MariaDB:MySQL的替代产品(并且有自己的特性)
		sqlite:小型数据库(django框架自带该数据库)
    
	2.非关系型数据库
		Redis、mongoDB、memcache
        
		Redis:目前最火的缓存数据库 具有很多数据结构 功能强大
		mongoDB:文档型数据库 可以用在大数据和爬虫领域 
		memcache:已经被redis淘汰
            
"""
1.两类数据库的区别
	关系型数据库
		拥有固定的表结构 并且表与表之间可以建立代码层面的关系	
		
	非关系型数据库
		没有固定的表结构 数据存储采用的是K:V键值对的形式
		
		
2.这么多数据库如何学习
	两大类数据库操作逻辑基本一致 每一类学习一个基本就可以掌握所有
		关系型学MySQL
		非关系型学redis、mongodb
""" 

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第1张图片

5.SQL与NoSQL的由来

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

6.MySQL下载

# 1.主要版本
	5.6:使用频率较高的版本
	5.7:目前正在过渡的版本
	8.0:目前最新的版本
"""
不同的版本主要区别在于底层的逻辑 SQL语句几乎是一模一样的
学习阶段可以使用 5.6的版本(如果已经下载了其他版本也没问题)
"""

# 2.下载
	mac:https://www.cnblogs.com/Dominic-Ji/articles/15402755.html
	linux:博客置顶文章

	windows:
	01 官网:https://www.mysql.com/
	02 点击页面 DOWNLOADS
	03 下拉页面 找到并点击 MySQL Community (GPL) Downloads
	04 找到 MySQL Community Server
	05 点击 Archives 选择版本下载压缩包(客服端 服务端)

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第2张图片

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第3张图片

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第4张图片

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第5张图片

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第6张图片

7.基本使用

# 目录介绍
	bin文件夹
		mysqld.exe		服务端
		mysql.exe		客服端
        
	data文件夹
		存储使用过程中需要保存的数据
        
	my-default.ini
		配置文件
        
	redadme
		说明文件
        
        
# 基本使用
"""
一定要先启动服务端再启动客户端
前期在操作的时候最好使用管理员cmd操作
"""

	1.环境变量的配置
	2.直接输入 mysqld 启动服务端(当前cmd窗口不要关闭 充当服务端)
"""
如果首次启动报错:
	由于找不到MSVCR100.dll,无法继续执行代码。...
	
到官网下载对应缺失的文件:
	https://cn.dll-files.com/
	下载完成后是压缩包形式
	解压文件到目录:
		C:\Windows\System32
		
一般缺少的文件有两个 分别下载两个即可:
	MSVCR100.dll MSVCP100.dll
"""
	3.开设一个新的cmd窗口操作客户端
		输入 mysql	# 游客模式登陆
 		输入 mysql -u用户名 -p密码  # 账号登录(本地使用)
 		输入 mysql -hIP地址 -P端口号 -u用户名 -p密码  # 完整命令
 		"""第一次登录 root用户没有密码 直接连续回车即可"""

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第7张图片

8.系统服务

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

移除系统服务
	mysqld --remove
"""  

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第8张图片

9.密码相关(了解)

# 针对管理员用户需要设置密码
	方式1:直接在cmd窗口内使用mysqladmin命令
		mysqladmin -uroot -p原密码 password 新密码
		eg:
			mysqladmin -uroot -p password 123
			mysqladmin -uroot -p123 password 666
            
	方式2:直接在登录状态下修改当前登录用户的密码
		set password=PASSWORD('密码')
        
# 忘记密码如何解决(了解)
	方式1:前期数据库里面也没有数据 干脆重来!!!
	方式2:稍作了解
		1.关闭服务端
		2.以跳过授权表的方式重新启动服务端
			只需要提供用户名就可以登录
			mysqld --skip-grant-tables
		3.以管理员身份登录
			mysql -uroot -p
		4.修改管理员用户密码
			update mysql.user set password=password(123) where user="root" and host="localhost"; 
		5.关闭服务端再正常启动
			ctrl  + C
			net start mysql
		6.使用修改之后的密码登录 

10.重要概念介绍

# 什么是数据(Data)
	事物的状态

# 什么是记录
	文件夹里面的文件里面的一行行内容
    
# 什么是表
	文件夹里面的文件
    
# 什么是库(DataBase,简称DB)
	文件夹

# 什么是数据库管理系统(DataBase Management System 简称DBMS)
	管理数据的套接字软件,CS架构
    
# 什么是数据库服务器
	运行有DBMS服务端的计算机,该计算机对内存和硬盘要求都相对较高

11.基本SQL语句

"""SQL语句的结束必须使用分号!!!"""

# 1.如何查看所有的数据库名称
	show databases;  # 会有一个临时产生在内存的库:information_schema
    
# 2.如何查看所有的表名称
	use 库名;  # 切换库(类似于双击了文件夹)'''
	show tables;  # 查看当前库目录下所有表名
    
# 3.如何查看所有的记录
	select * from 表名;
	如果内容较多展示补全出现错乱的情况 可以在语句后面加\G

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第9张图片

12.针对库的SQL语句

"""辛辛苦苦一个月 换来的就是一条SQL语句"""
# 增
	create database 数据库名;
    
# 查
	show databases;  # 查看所有的库名
	show create database 数据库名;  # 定向查看某个库
    
# 改
	alter database 数据库名 charset='gbk';
    
# 删
	drop database 数据库名;

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第10张图片

13.针对表的SQL语句

"""
要想操作表必须得先有库
	1.先创建库
		create database db1;
	2.查看当前所在的库名
		select database();
	3.切换库
		use bd1;
"""

# 增
	create table 表名(字段名1 字段类型1,字段2 字段类型2);
    
# 查
	show tables;  # 查看当前库下面所有的表名
	show create table 表名;  # 查看指定的表信息
	describe 表名;  # 查看表的具体信息(常用)  简写: desc 表名;
    
# 改
	alter table 原表名 rename 新表名;  # 修改表名
	alter table 表名 change 原字段名 新字段名 新类型;  # 同时修改字段名和类型
	alter table 表名 modify 字段名 新字段类型;  # 修改字段类型
    
# 删
	drop table 表名;

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第11张图片

14.针对记录的操作

"""
得先确定库和表
"""

# 增
	insert into 表名 values(数据,数据,数据);  # 单条数据
	insert into 表名 values(),(),();  # 多条数据
    
# 查
	select * from 表名;  # 查询表中所有的数据
    
# 改
	update 表名 set 字段名='新数据' where 筛选条件;
    
# 删
	delete from 表名 where 筛选条件;

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第12张图片

15.字符编码问题

# 查看MySQL内部默认的编码情况
	\s
 
# MySQL默认的配置文件>>>:mydefault.ini
	1.拷贝默认的配置文件并且重新命名为my.ini
    
	2.清空my.ini文件信息并拷贝固定的配置信息
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

	3.重启MySQL服务端
		cmd窗口 执行:
			net stop mysql
			net start mysql

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)_第13张图片

你可能感兴趣的:(MySQL数据库初识、下载使用(针对库、表、记录的增删改查))