目录
MySQL
-
什么是MySQL?
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
-
MySQL的本质
mysql本质就是一个基于socket编写的C/S架构的软件
客户端软件
mysql自带:如mysql命令,mysqldump命令等
python模块:如pymysql -
MySQL的特点与优势
- MySQL 是开放源代码的数据库
MySQL 是一款可以自由使用的数据库。MySQL 是开放源代码的数据库,任何人都可以获取该数据库的源代码。
- MySQL 的跨平台性
MySQL 不仅可以在 Windows 系列的操作系统上运行,还可以在 UNIX、Linux 和 Mac OS 等操作系统上运行。因为很多网站都选择 UNIX、Linux 作为网站的服务器,所以 MySQL 的跨平台性保证了其在 Web 应用方面的优势。虽然微软公司的 SQL Server 数据库是一款很优秀的商业数据库,但是其只能在 Windows 系列的操作系统上运行。因此,MySQL 数据库的跨平台性是一个很大的优势。
- 功能强大且使用方便
MySQL 是一个真正的多用户、 多线程 SQL 数据库服务器。它能够快速、有效和安全的处理大量的数据。相对于 Oracle 等数据库来说,MySQL 的使用是非常简单的。MySQL 主要目标是快速、健壮和易用。
MySQL简介
- 版本问题
8.0 :最新版>>>苹果电脑推荐最新版
5.7 :使用频率最高
5.6 :学习推荐使用
站在开发的角度使用哪个版本学习都没有关系
-
MySQL下载与使用
-
1 访问官网
-
2 点击DOWNLOADS并点击GPL
-
3 点击community server (选择社区版本--免费)
-
4 点击Archives,选择下载的版本号
-
5 选择对应系统的对应版本下载即可(zip压缩包)
-
6 下载到D跟路径下,为了后续查找方便
-
7 添加环境变量
-
-
主要目录介绍
-
1 bin 存放启动文件 mysqld.exe(服务端) mysql.exe(客户端)
-
2 data目录 存放核心数据
-
3 my-default.ini 默认的配置文件
-
4 readme 软件说明
-
MySQL基本使用
所有在cmd端打开MySQL,建议使用管理员身份打开。
-
登录服务端和客户端
1. 切换到mysql的bin目录下先启动服务端 mysqld 2. 保持窗口不关闭 重新打开一个新的cmd窗口 3. 切换到mysql的bin目录下启动客户端 mysql 4. 第一次以管理员身份登录是没有密码的 直接回车即可 mysql -uroot -p 5. 直接使用mysql命令默认的游客模式,权限和功能都很少 mysql -u用户名 -p密码
登录页面如下:
打开客户端mysql和服务端mysqld
游客登录和管理员登录的权限不同:
-
结束符
MySQL的SQL语句都是以分号作为结束符;
-
查看当前所有的库名称
show databases;
-
取消之前的命令
\c # 或者直接运行报错
-
退出客户端
exit; quit;
遇到电脑启动服务算就报错的情况,如何解决?
拷贝报错信息,然后百度搜索“mysql启动 + 报错粘贴错误信息 ”
系统服务的制作
-
先把bin目录添加到环境变量
清空之前打开的cmd窗口,一定要把之前用cmd启动的服务端关闭(ctrl+c) -
将mysql添加到系统服务中(开启自启动)
-
1 如何查看系统服务
鼠标右键任务栏选择服务
cmd输入services.msc回车
-
2 以管理员身份打开cmd窗口
mysqld --install
-
-
启动服务(首次添加不会自动启动,需要自己启动)
-
1 鼠标右键点击启动
-
2 命令行启动
net start mysql
-
-
如果想卸载重新安装
-
1 先关闭服务端
net stop mysql
-
2 移除系统服务
mysqld --remove
-
-
查看计算机运行程序数
services.mac
密码相关操作
-
修改密码
-
1 方式一:直接在cmd窗口内借助于mysqladmin命令
mysqladmin -u用户名 -p原密码 password 新密码
-
2 方式二:直接修改存储用户数据的表
-
3 方式三:冷门操作,有些版本可能还不支持
set password=password('新密码') # 修改当前登录用户的密码
-
-
忘记密码
-
1 方式一:卸载重装
-
2 方式二:把data目录删除,拷贝同桌的目录
-
3 方式三:小把戏操作
2.3.1 关闭正常的服务端mysql
net stop mysql
2.3.2 以跳过授权表的方式重启服务端(不校验密码)
mysqld --skip-grant-table 重新打开一个cmd mysql -uroot -p # 验证密码直接回车 查看当前数据库(存储密码表) select * from mysql.user\G;
2.3.3 以管理员身份进入然后修改mysql.user表数据即可
mysql -uroot -p updata 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"; # 修改对应用户的密码
2.3.4 关闭服务器,然后以正常方式启动即可
exit;
2.3.5 密码修改成功以正常方式启动
net start mysql # 管理员启动
-
SQL与noSQL
引入SQL语句
-
什么是SQL语句?
就是操作数据库软件的命令
-
为什么要有SQL语句?
1.是因为数据库能够支持的语言非常的多 为了避免识别问题 发明了SQL语句 规定只要想使用数据库就统一使用SQL语句操作 2.数据库的服务端为了能够兼容不同类型的客户端实现数据交互 所以规定了统一的交互方式 关系型数据库>>>:SQL语句 非关系型数据库>>>:NoSQL语句
数据库服务端是可以服务多种类型的客户端,客户端可以是自己开发的,也可以是python代码编写,也可以是java代码编写。
SQL
操作关系型数据库的语言。有时SQL也称关系型数据库。
NoSQL
操作非关系型数据库的语言。有时NoSQL也称非关系型数据库。
常见基本SQL造句
- SQL语句必须以分号结尾
- SQL语句编写错误之后,可以直接执行报错即可
基本的增删改查
-
基于库的增删改查
1.创建库 create database 库名; 2.查看库 show databases; # 查看所有的库名称 show create database 库名; # 查看指定库信息 3.编辑库 alter database 库名 charset='utf8'; 4.删除库 drop database 库名;
-
基于表的增删改查
操作表之前需要先确定库 create database db1; 切换操作库 use db1 1.创建表 create table 表名(字段名 字段类型,字段名 字段类型); 2.查看表 show tables; # 查看库下所有的表名称 show create table 表名; # 查看指定表信息 describe 表名; # 查看表结构 desc 表名; 如果想跨库操作其他表,只需要在表名前加库名 desc mysql.user; 3.编辑表 alter table 表名 rename 新表名; 4.删除表 drop table 表;
-
基于记录的增删改查
1.插入数据 insert into 表名 values(数据值1,数据值2); 2.查询数据 select * from 表名; # 查询表中所有的数据 3.编辑数据 update 表名 set 字段名=新数据 where 筛选条件; 4.删除数据 delete from 表名; delete from 表名 where id=2;