MySQL数据库

文章目录

  • 一、MySQL介绍
      • 1. 什么是MySQL?
      • 2. MySQL的本质
      • 3.MySQL的特点与优势
  • 二、MySQL软件下载与使用
      • 1.版本问题
      • 2.下载与安装
      • 3. 主要目录介绍
  • 三、MySQL基本使用
      • 1.登录服务端和客户端
      • 登录页面如下:
  • 四、系统服务的制作
      • 1.先把bin目录添加到环境变量
      • 2.将mysql添加到系统服务中(开启自启动)
      • 3.启动服务(首次添加不会自动加载,需要自己启动)
      • 4.如果想卸载重新
      • 5.查看计算机运行程序数
  • 五、密码相关操作
      • 1.修改密码
      • 2.忘记密码
  • 六、SQL与noSQL
      • 1. 什么是SQL语句?
      • 2. 为什么要有SQL语句?
      • 3.常见基本SQL造句
      • 4.基本的增删改查
          • 1.基于库的增删改查
          • 2.基于表的增删改查
          • 补充知识
          • 3.基于记录的增删改查

一、MySQL介绍

1. 什么是MySQL?

它是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

2. MySQL的本质

MySQL本质就是一个基于socke编写的C/S架构的软件
客户软件
MySQL自带:如MySQL命令,mysqldump命令等
Python模块:如pymysql

3.MySQL的特点与优势

1.MySQL 是开放源代码的数据库
MySQL 是一款可以自由使用的数据库。MySQL 是开放源代码的数据库,任何人都可以获取该数据库的源代码。

2.MySQL 的跨平台性
MySQL 不仅可以在 Windows 系列的操作系统上运行,还可以在 UNIX、Linux 和 Mac OS 等操作系统上运行。因为很多网站都选择 UNIX、Linux 作为网站的服务器,所以 MySQL 的跨平台性保证了其在 Web 应用方面的优势。虽然微软公司的 SQL Server 数据库是一款很优秀的商业数据库,但是其只能在 Windows 系列的操作系统上运行。因此,MySQL 数据库的跨平台性是一个很大的优势。

3.功能强大且使用方便
​ MySQL 是一个真正的多用户、 多线程 SQL 数据库服务器。它能够快速、有效和安全的处理大量的数据。相对于 Oracle 等数据库来说,MySQL 的使用是非常简单的。MySQL 主要目标是快速、健壮和易用。

二、MySQL软件下载与使用

1.版本问题

5.5 之前的都有,哪些版本目前几乎都不用了
MySQL5.6 # 使用较多的,比较稳定的
MySQL5.7 # 使用较多的,比较稳定的
MySQL8.0 # 新版本,对于MySQL来说,版本的更新不变的是SQL语句的书写

我目前使用5.7,当然我建议最好不要是新版本,尤其是8.0的版本,线上环境最好不要使用新版本

数据库软件它是需要下载和安装的,如果你的电脑上已经装过了,如果有这种情况:你之前装过,但是卸载的时候,方法不对,就会出现残留文件,你会发现在此装新的时候,就装不上了,装上了启动不起来。

这个时候就可以借助于一些杀毒软件,检测出来一些残留文件,把这个检测出来的残留文件给删掉就可以了

2.下载与安装

官网下载:https://www.mysql.com/

1.访问官网
MySQL数据库_第1张图片
2.点击DOWNLOADS并点击GPL
MySQL数据库_第2张图片
3.点击community server (选择社区版本–免费)

MySQL数据库_第3张图片
4.点击Archives选择下载的版本号
MySQL数据库_第4张图片
5.选择对应的系统的对应版本下载即可(zip压缩包解压即可使用),简易不要放下C盘下,放在任意盘的更路径
MySQL数据库_第5张图片
6.添加到环境变量
MySQL数据库_第6张图片

3. 主要目录介绍

bin
	mysql.exe   # 自带的客户端 
	mysqld.exe   # 自带的服务端

data:MySQL的数据存储的地方
my-default.ini:这个是MySQL的配置文件
README文件是MySQL的说明文件,类似于是说明书

三、MySQL基本使用

所有在cmd端打开MySQL,建议使用管理员身份打开。

1.登录服务端和客户端

1.切换到mysql的bin目录下先启动服务端
mysqld

2.保持窗口不关闭 重新打开一个新的cmd窗口

3.切换到mysql的bin目录下启动客户端
mysql

4.第一次以管理员身份登录是没有密码的 直接回车即可
mysql -uroot -p

5.直接使用mysql命令默认的游客模式,权限和功能都很少
mysql -u用户名 -p密码

登录页面如下:

1.打开客户端mysql和服务端mysqld
MySQL数据库_第7张图片
游客登录和管理员登录的权限不同:

MySQL数据库_第8张图片
2.结束符
MySQL的SQL语句都是以分号作为结束

3.查看当前所有的库名称
show databases;

4.取消当前的命令
Ctrl+C

5.退出客户端
exit;

遇到电脑启动服务算就报错的情况,如何解决?
拷贝报错信息,然后百度搜索“mysql启动 + 报错粘贴错误信息 ”

四、系统服务的制作

1.先把bin目录添加到环境变量

清空之前打开的cmd窗口,一定要把之前用cmd启动的服务端关闭(ctrl+c)

2.将mysql添加到系统服务中(开启自启动)

1.如何查看系统服务
Win+R>>>输入services.msc回车

2.以管理员身份打开cmd窗口
输入:mysqld --install
MySQL数据库_第9张图片

3.启动服务(首次添加不会自动加载,需要自己启动)

鼠标点击启动
MySQL数据库_第10张图片

命令启动:net start mysql

4.如果想卸载重新

先关闭服务: net stop mysql

移除系统服务:mysqld --remove

5.查看计算机运行程序数

services.mac

五、密码相关操作

1.修改密码

1.方式一:直接在cmd窗口内借助于mysqladmin命令

mysqladmin -u用户名 -p原密码 password 新密码
mysqladmin -u root -p password 123

2.方式二:直接修改存储用户数据的表

3.方式三:冷门操作,有些版本可能还不支持

set password=password(‘新密码’) # 修改当前登录用户的密码

2.忘记密码

1.卸载重装

2.把data目录删除,拷贝同桌的目录

3.小把戏操作
3.1关闭正常的服务端mysql
net stop mysql

3.2以跳过授权表的方式重启服务端(不校验密码)

mysqld --skip-grant-table

重新打开一个cmd
mysql -uroot -p # 验证密码直接回车
查看当前数据库(存储密码表)
select * from mysql.user\G;

3.3以管理员身份进入然后修改mysql.user表数据即可

mysql -uroot -p
update mysql.user set password=password('123') where Host= 'localhost' and User='root';

update mysql.user set password=password(123) where user="root" and host="localhost"; # 修改对应用户的密码

3.4关闭服务器,然后以正常方式启动即可

3.5密码修改成功以正常方式启动
net start mysql

六、SQL与noSQL

引入SQL语句

1. 什么是SQL语句?

就是操作数据库软件的命令

2. 为什么要有SQL语句?

1.是因为数据库能够支持的语言非常的多 为了避免识别问题 发明了SQL语句 规定只要想使用数据库就统一使用SQL语句操作

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

​ 数据库服务端是可以服务多种类型的客户端,客户端可以是自己开发的,也可以是python代码编写,也可以是java代码编写。

SQL:操作关系型数据库的语言。有时SQL也称关系型数据库。

NoSQL:操作非关系型数据库的语言。有时NoSQL也称非关系型数据库。

3.常见基本SQL造句

1.SQL语句必须以分号结尾

2.SQL语句编写错误之后,可以直接执行报错即可

查看所有的库
show databases;
查看所有的表名称
show tables;
查看所有的记录
select * from mysql.user;

4.基本的增删改查

1.基于库的增删改查
1.创建库
	create database 库名;
2.查看库
	show databases;  # 查看所有的库名称
	show create database 库名;  # 查看指定库信息
3.编辑库
	alter database 库名 charset='utf8'; # 将数据库的编码格式设置为utf8格式
4.删除库
	drop database 库名;
2.基于表的增删改查
操作表之前需要先确定库
	create database db1;
切换操作库
	use db1
	
1.创建表
	create table 表名(字段名 字段类型,字段名 字段类型);
 eg:create table test(usename varchar(32),password char(32));
	
2.查看表
	show tables;  # 查看库下所有的表名称
	show create table 表名;  # 查看指定表信息
	describe 表名;  # 查看表结构
	desc 表名;
	
	如果想跨库操作其他表,只需要在表名前加库名
		desc mysql.user;
		
3.编辑表
	alter table 表名 rename 新表名;
4.删除表
	drop table 表;
 
补充知识
1.修改表名
   alter table 表名 rename 新表名
 	eg: alter table work rename worker;
2.添加字段
  alter table 表名 add 字段名  字段类型(数字)约束条件;
	eg:alter table worker add hobby varchar(32);
3.在已有的字段后面添加字段
  alter table 表名 add 字段名  字段类型(数据)约束条件 after 已有字段;
	eg:alter table worker add hobby varchar(32);
4.添加主键
  alter table 表名 add 字段名  字段类型(数据)约束条件 first;
5.修改字段名和类型
  alter table 表名 change 旧字段名 新字段名 字段类型(数字) 约束条件;
  alter table t1 change   name    username  char(32);
  alter table t1 change pwd pwd varchar(32);  # 原本pwd int
	eg:alter table worker change name username ;
	   alter table worker change name username ;

	   
6.修改字段类型
  alter table 表名 modify 字段名 新字段类型(数字) 约束条件;
  alter table t1 modify   age  tinyint;  # 原本 age int
	eg: alter table worker change name username ;
7.删除字段
  alter table 表名 drop 字段名;
	eg: alter table worker change name username ;
3.基于记录的增删改查
1.插入数据
	insert into 表名 values(数据值1,数据值2);
 eg:insert into new_test values(kimi,123);
2.查询数据
	select * from 表名;  # 查询表中所有的数据
3.编辑数据
	update 表名 set 字段名=新数据 where 筛选条件;
4.删除数据
	delete from 表名;
	delete from 表名 where id=2;

你可能感兴趣的:(数据库,mysql,服务器,python)