09_01、初识MySQL数据库
置顶总结
# 常用命令 net start mysql # 开启服务 需要管理员模式 net stop mysql # 关闭服务 需要管理员模式 mysql # 游客模式进入 mysql -u root -p # 最高权限进入 需要输入密码
一、数据库概念和分类
1、概念
数据库:用来存储数据,方便数据的写入和读取
可以存数据的介质:文件,MySQL数据库,Redis缓存数据库...
注意:数据库跟语言没有关系,只不过是不同的语言来操作数据库而已
2、分类
1. 关系型数据库
# 有固定的表结构,并且,表与表之间可以建立关系
常见的关系型数据库:MySQL,oracle,SqlServer,db2,access...
2. 非关系型数据库
# 没有固定的表结构,存在的形式是k:v键值对
常见的非关系型数据库:redis, memcache,mongodb
二、MySQL简介
1、mysql本质
mysql本质上就是一款基于网络通信的软件
只要是通过网络传输的软件都会有一个服务端和一个客户端
2、MySQL的服务端和客户端
mysql本质上就是一款基于网络通信的软件,只要是通过网络传输的软件都会有一个服务端和一个客户端
服务端:
mysql自带的有服务端,且只能是MySQL的服务端
客户端:
mysql也自带客户端,但是,mysql的客户端可以有很多个,不仅包括自带的
注意:必须服务端先启动,客户端再去连接,一个mysql服务端可以服务多个客户端
3、SQL语句的由来:
1. SQL语句:是在关系型数据库中
2. nosql语法:是在非关系型数据库
# 要想使用mysql,必须下载和安装,去mysql的官网
4、关于使用mysql必须要了解的概念
库 >>> 文件夹
表 >>> 文件
记录 >>> 文件里面一行行的数据
字段 >>> 表头
三、MySQL的下载与安装
1、MySQL版本问题
5.6 目前大部分项目使用的都是这个版本
5.7 新项目一般选择使用
8.0 mysql的最新版本,一般不推荐,如果是学习,那可以研究
2、下载与解压
官网地址:https://downloads.mysql.com/archives/community/
一般下载5.6版本的64位MySQL
解压压缩包至指定盘符
3、客户端和服务端的位置
如果要使用MySQL,必须要先启动服务端,再启动客务端
客户端和服务端的位置在MySQL文件夹的bin目录中:
服务端启动程序:mysqld.exe
客户端启动程序:mysql.exe
注意:客户端和服务端的启动不是通过双击打开启动程序
4、启动
启动服务端:打开cmd命令窗口,切到bin目录下,执行mysqld.exe
启动服务端:打开cmd命令窗口,切到bin目录下,执行mysql.exe
注意:两个窗口都不能关闭
四、系统服务制作和环境变量的安装
1、服务端系统服务制作
(1)MySQL系统服务制作的原因
由于每次启动MySQL都需要打开服务端,比较麻烦
所以通过把MySQL服务端制作为系统服务
就可以保证在不打开服务端cmd命令窗口的同时,让客户端依然可以正常连接
(2)服务制作
cmd命令窗口输入:mysqld --install
启动系统服务:
方式1—出表操作) 此电脑》管理》服务和应用程序》MySQL》开始
方式2—cmd命令) net start mysql (以管理员身份运行)开始
net stop mysql 停止
卸载服务 cd到bin目录 mysqld --remove
(3)注意
制作系统服务之前,需要先关务服务端
cmd命令必须以管理员身份执行
服务安装成功后,默认是没有启动的,需要手动启动一下
卸载服务之前,先关闭服务,再去卸载
2、环境变量的添加
此电脑》属性》高级系统设置》环境变量》系统变量(path)》
双击,新建,添加bin的绝对路径
五、客户端用户登录和密码修改
1、游客模式登录
启动服务端后,默认情况下,直接输入mysql即可进入
但是注意,直接输入mysql进入代表的是游客模式(仅有部分查询权限)
2、管理员登录
mysql -u root -p
注意:第一次登录不需要密码,直接回车进入
3、修改MySQL密码
update mysql.user set password=password(自定义密码) where user='root' and host='localhost';
修改密码后需要重新启动服务端(命令:flush privileges)
4、忘记密码
1. 关闭服务端,重启动:
mysqld --skip-grant-tables # 跳过授权表登录,客户端再登录就不需要密码了
2. 进入到MySQL之后,正常修改密码即可
3. 修改完成之后,正常退出,重新启动
4. 正常登录,就需要密码了
六、配置文件
把默认的配置文件my-default.ini(配置模板)重新命名一份出来,名字为my.ini
\s # 查看MySQL的基本信息
# 统一编码
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql]
# 客户端省去输入用户名和密码
# user="root"
# password=123 default-character-set=utf8
注意:一旦修改了位置文件,一定要重启服务端
七、严格模式
1、 查看mysql的sql_mode
show variables like '%mode%';
2、设置严格模式
1. 直接使用命令修改
set global sql_mode='STRICT_TRANS_TABLES';
set global sql_mode='STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY';
2. 配置文件修改
在my.cnf添加如下配置
[mysqld]
sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,
NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,PIPES_AS_CONCAT,ANSI_QUOTES'
MySQL5.6和MySQL5.7默认的sql_mode模式参数是不一样的,5.6的mode是NO_ENGINE_SUBSTITUTION,
其实表示的是一个空值,相当于没有什么模式设置,可以理解为宽松模式。5.7的mode是STRICT_TRANS_TABLES,也就是严格模式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本