# 一、MySQL 简介

# 1、基本概述

  MySQL 当前属于甲骨文公司(AB->Sun->Oracle),是一个开源免费(部分存储引擎))的数据库软件,可以通过 SQL 指令对数据库进行操作。

  MySQL 是一种 C/S 结构软件,因此需要 MySQL 的客户端来访问服务端(数据管理)

  • mysql.exe:客户端(MySQL 5.7 Command Line Client)
  • mysqld.exe:服务端

# 2、软件安装

拓展:MySQL 解压版使用

官方下载地址:

https://downloads.mysql.com/archives/community/

  若使用的是解压版,关于环境变量就暂时不用配置了,直接在 mysql 数据库的 bin 目录打开终端操作即可。

  使用解压版的优点是可以电脑上可以方便的切换 MySQL 版本,缺点是要频繁手动的启动(个人更加推荐使用 安装版)

① 启动服务端(mysqld.exe):

  • 根目录新建 my.ini
[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • 正式启动:
.\mysqld.exe --initialize-insecure #(会在根目录生成一个data文件夹)

.\mysqld.exe

② 启动客户端(mysql.exe):

.\mysql.exe -u root -p (默认密码为空)

官方下载地址:

https://dev.mysql.com/downloads/windows/installer/8.0.html

默认安装路径:

C:\Program Files\MySQL\MySQL Server 5.7\bin

# 3、启动软件

  通常情况下,next 一步到底的话,mysql 默认在本地会启动一个 MySQL57MySQL80(与安装版本有关)的服务。

mysql 服务

  在 window 中,我们可以通过在任务管理器等地方查看 MySQL 服务的状态。

  也可以通过命令的方式操作 mysql 服务:

net start

net start MySQL57

net stop MySQL57

# 4、使用 mysql

  在 window 中安装完 mysql 后,默认会安装一个 mysql.exe:客户端(MySQL 5.7 Command Line Client),我们可以直接在该终端窗口下与 mysql 交互。

  但为了方便使用,还是建议将 mysql.exe 的安装路径添加到 window 环境变量中,这样我们就可以直接在 CMD 中直接使用 mysql 了。

mysql --version

mysql -uroot -p
> exit

# 二、MySQL 基础

# 1、客户端

  对于 mysql,我们可以通过在客户端 mysql.exe 打开中终端中,编写 SQL 语句与服务端 mysqld.exe 进行交互。

终端中(与服务器中类似)

mysql -u root -p
> create database ry_vue;
> show databases;
> use ry-vue;
> source /home/app_code/RuoYi-Vue/ry_20230706.sql;
> show tables;

  但在某些场景下(如创建表、插入数据等),我们不会一条一条的输入 SQL 语句与服务端交互(效率太低),而是直接运行.sql 文件,一次性执行多条 SQL 语句。

Navicat、vscode 插件 (opens new window)等 中(执行的 SQL 结果,会同步以可视化的方式展示)

初始化.sql 文件
-- ----------------------------
-- 8、角色和部门关联表  角色1-N部门
-- ----------------------------
drop table if exists sys_role_dept;
create table sys_role_dept (
  role_id   bigint(20) not null comment '角色ID',
  dept_id   bigint(20) not null comment '部门ID',
  primary key(role_id, dept_id)
) engine=innodb comment = '角色和部门关联表';

-- ----------------------------
-- 初始化-角色和部门关联表数据
-- ----------------------------
insert into sys_role_dept values ('2', '100');
insert into sys_role_dept values ('2', '101');
insert into sys_role_dept values ('2', '105');
select * from sys_menu

# 2、SQL 分类

  SQL,全称:Structured Query Language(结构化查询语言),是一种针对关系型数据库特殊标准化的编程语言。根据操作的不同,可以分为:

类型 作用 举例
Data Control Language DCL 数据控制 用户权限管理
Data Definition Language DDL 数据定义 创建数据结构
Data Manipulation Language DML 数据操作 数据内容操作(增删改)
Transaction Process Language TPL 事务处理 辅助 DML 进行事务操作
Data Query Language DQL 数据查询 🎈 查询和检索数据

# 3、语法规则

  • 基础 SQL 指令通常是以行为单位
  • SQL 指令需要语句结束符,默认是英文分号:;
  • 编写的 SQL 中如果用到了关键字、保留字等,需要使用反引号``来包裹,让系统忽略
-- 创建库
create database if not exists `ry-vue`;

-- 切换库
use `ry-vue`;
  • _表示匹配一个字符(固定位置),%表示匹配 N 个字符
更新于 : 8/7/2024, 2:16:31 PM