当前位置: 首页 > news >正文

2-MySQL的基本操作记录

1 数据库相关

-- --------------------表相关的----------
-- 查看字符集
show variables like '%character%';show databases;# 创建数据库
create database test2;# 删除数据库
drop database test2;
show databases;#查看当前使用的数据库
select database();

2 用户相关

-- --------------------用户授权相关的----------
#切换数据库
use test;select user();# 会报错:[42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'user12345'' at line
# mysql8.0版本为新版本,需要先创建用户再分配权限,不能和旧版本一样
# MySQL5.7版本可以使用
grant all on test.* to 'user1'@'%' identified by 'user12345';
FLUSH PRIVILEGES;# mysql8.0版本上需要使用:
# 1、创建新用户
create user 'user1'@'%' identified by 'user12345';# 2、刷新权限
flush privileges;# 3、赋予权限,%标识不限制主机
grant all on test.* to 'user1'@'%';# 4、刷新权限
flush privileges;# 5、查看用户
select host,user,plugin,authentication_string from mysql.user;# 收回权限
revoke insert on test.* from 'user1'@'%';# 删除用户
drop user 'user1'@'%';# 查看权限,all包含的权限有:SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER
show grants for 'user1'@'%';

3 数据表相关

-- --------------------表相关的----------
CREATE TABLE business_logs (id          BIGINT PRIMARY KEY AUTO_INCREMENT,timestamp   DATETIME     NOT NULL,user_id     INT          NOT NULL,action      VARCHAR(255) NOT NULL,description TEXT,ip_address  VARCHAR(50),log_level   VARCHAR(20)
);-- 查看建表语句
show create table business_logs;-- 查看所有表
show tables;-- 查看表结构
desc business_logs;select *
from business_logs;-- 插入数据到表中
insert into business_logs (timestamp, user_id, action, description) values (sysdate(), 1, 'cap', '查询成功');
insert into business_logs (timestamp, user_id, action, description) values (sysdate(), 2, 'del', '删除成功');
insert into business_logs (timestamp, user_id, action, description) values (sysdate(), 1, 'add', '添加成功');-- 更新表
update business_logs set action = 'delete', description = '删除成功' where id = 1;-- 删除表中的数据
delete from business_logs where id = 1;-- 查询语句
/*
查询关键字:
select字段列表
from表名
where查询条件
group by分组字段
having分组后条件字段
order by排序字段
limit分页参数
*/

3.1 聚合函数

聚合函数(count、sum、max、min、avg)使用

-- 删除表
drop table if exists user;-- 创建表
create table user (id   int primary key auto_increment,name varchar(20) not null,age  int         not null,city varchar(20) default null
);-- 插入数据
insert into user (name, age, city) values ('张三', 20, '北京'), ('李四', 22, '上海'), ('王五', 20, '北京');select * from user;-- 查询各个城市的人数
select city, count(*) as usr_num from user group by city;-- 查询各个城市最小的年龄
select city, min(age) as age from user group by city;-- 查询平均年龄
select avg(age) as age from user;-- 查询年龄总和
select sum(age) as sum_age from user;

注意:所有的null值不参与聚合函数的运算

3.2 分组查询

基本语法

select 字段 from 表名 [where 条件] group by 分组字段 [having 分组后过滤条件]

where和having的区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件的数据不参与分组,而having是分组之后对结果进行过滤
  • 判断条件不同:where不能对聚合函数进行判断,而having可以
insert into user (name, age, city) values ('张三2', 20, '北京'), ('李四2', 22, '上海'), ('王五2', 20, '北京');
insert into user (name, age, city) values ('夏明', 30, '北京'), ('李红', 32, '北京'), ('张飞', 56, '西安');-- 查询年龄小于等于30的人员
select * from user where age <= 30;-- 查询各个城市中,年龄小于30的人数
select city, count(*) as user_num from user where age <= 30 group by city;-- 查询年龄小于等于30的人员,按照城市进行分组,获取人员数量大于3的城市
select city, count(*) as user_num from user where age <= 30 group by city having user_num > 3;

注意:

  • 执行顺序:where > 聚合函数 > having
  • 分组之后,查询的字段一般为聚合函数和分组字段,其他字段不能查询

3.3 排序查询

语法

select 字段 from 表名 order by 字段1 排序1, 字段2 排序2;

  • 支持多字段排序
  • 排序方式
    • ASC:升序(默认值)
    • DESC:降序
-- 根据年龄进行排序
select * from user order by age;-- 根据年龄进行排序,年龄相同时根据id倒序排序
select * from user order by age, id desc;

3.4 分页查询

使用 limit 关键字

语法

select 字段 from 表名 limit 起始索引, 查询记录数量;

-- 查询第1页,每页显示5条
select * from user limit 0,5;-- 查询第2页,每页显示5条
select * from user limit 5,5;

4 其他命令

4.1 查看是否忽略大小写,1为忽略

show global variables like '%lower_case%';

4.2 查看主从状态

查看主服务状态,在主从配置时,查看主服务信息时使用

show master status;

查看从服务状态,在主从配置时,查看从服务状态时使用

show slave status;

使用示例:

mysql> show slave status \G
*************************** 1. row ***************************Slave_IO_State: Waiting for source to send eventMaster_Host: 10.0.24.10Master_User: slaveMaster_Port: 3306Connect_Retry: 60Master_Log_File: binlog.000007Read_Master_Log_Pos: 2050Relay_Log_File: 5d5ab079a223-relay-bin.000004Relay_Log_Pos: 546Relay_Master_Log_File: binlog.000007Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0Last_Error: Skip_Counter: 0Exec_Master_Log_Pos: 2050Relay_Log_Space: 1574Until_Condition: NoneUntil_Log_File: Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error: Last_SQL_Errno: 0Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1Master_UUID: 60a0cb5e-1a2f-11ee-8244-0242ac110003Master_Info_File: mysql.slave_master_infoSQL_Delay: 0SQL_Remaining_Delay: NULLSlave_SQL_Running_State: Replica has read all relay log; waiting for more updatesMaster_Retry_Count: 86400Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: Master_public_key_path: Get_master_public_key: 0Network_Namespace: 
1 row in set, 1 warning (0.00 sec)

4.3 查看字符集

-- 查看字符集
show variables like '%character%';

4.4 查看连接数

-- 获取最大数据库连接数
show variables like 'max_connections';-- 获取当前数据库连接数
show status like 'threads_connected';-- 获取最大数据库连接数和当前数据库连接数
select @@max_connections as maxconnections, count(*) as currentconnections from information_schema.processlist;

4.5 查看当前进程

show processlist;# 找出所有执行时间超过 5 分钟的线程,拼凑出 kill 语句,方便后面查杀
select concat('kill ', id, ';') 
from information_schema.processlist 
where Command != 'Sleep' and Time > 300 order by Time desc;

关注我,我们一起学习。

 

相关文章:

2-MySQL的基本操作记录

1 数据库相关 -- --------------------表相关的---------- -- 查看字符集 show variables like %character%;show databases;# 创建数据库 create database test2;# 删除数据库 drop database test2; show databases;#查看当前使用的数据库 select database(); 2 用户相关 -…...

网站页脚展示备案号并在新标签页中打开超链接

备案时&#xff0c;我们就注意到&#xff0c;备案成功后需要在网站首页底部展示“备案号”&#xff0c;并将备案号链接至https://beian.miit.gov.cn。 这里我使用了WrodPress中的主题&#xff0c;主题自定义中有提供对页脚文本的编辑&#xff0c;支持用css标签定义样式。若是自…...

CentOS7 安装 nodejs

获取安装文件 node历史版本地址 安装 上传到服务器安装位置cd 到压缩包位置&#xff0c;执行解压安装操作 [rootps-fdcnops-01 /]# cd usr/local/nodejs/ [rootps-fdcnops-01 nodejs]# tar -xzvf node-v16.16.0-linux-x64 配置环境变量 [rootps-fdcnops-01 nodejs]# vim /…...

工程化测试:Apollo的单元测试与集成测试指南

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

DevOps 笔记

01 总论 "DevOps"是一个术语,它是“Development(开发)”和“Operations(运维)”两个单词的组合。这个概念是为了强调并促进开发人员(构建产品)和IT运营团队(负责产品部署和管理)之间的沟通、协作与整合。通过DevOps,组织力求快速、高效地开发高质量软件,…...

基于食肉植物优化的BP神经网络(分类应用) - 附代码

基于食肉植物优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于食肉植物优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.食肉植物优化BP神经网络3.1 BP神经网络参数设置3.2 食肉植物算法应用 4.测试结果…...

Docker部署SpringBoot +Vue项目流程详解(含域名 + HTTPS)

文章目录 前言1、选购服务器2、部署 Docker3、前端、后端项目打包4、配置 Dockerfile5、配置 Nginx6、配置 DockerCompose6、启动 DockerCompose 完成部署7、【可选】域名 SSL证书 前言 本次整体部署操作使用阿里云服务器&#xff0c;这里我选择的是香港地区的2核2G ECS&…...

需要在 MySQL 服务器中监控的重要指标

MySQL是一个开源的关系数据库管理系统&#xff0c;它基于客户端-服务器模型运行&#xff0c;使用SQL作为其通信模式。它具有灵活性和可扩展性、高安全性、易用性以及无缝处理大型数据集的能力&#xff0c;由于其广泛的功能&#xff0c;MySQL 被用作数据库管理系统的一部分。 什…...

Hadoop之HDFS

目录 1.HDFS概述 1.1HDFS产出背景及定义 1.2 HDFS优缺点 1.3 HDFS组成架构 1.4 HDFS文件块大小 2. HDFS的Shell操作 2.1 基本语法 2.2 命令大全 2.3 常用命令实操 2.3.1 准备工作 2.3.2 上传 2.3.3 下载 2.3.4 HDFS直接操作 3. HDFS的API操作 3.1 客户端环境准备…...

【Matlab笔记_17】查找数组中相同元素

案例一&#xff1a;找到数组中相同元素所在位置索引 方法&#xff1a;使用unique函数用于找到唯一的元素和它们在原数组中的索引。然后&#xff0c;histc函数用于计算每个唯一元素的出现次数&#xff0c;并通过ismember函数找到重复元素在原数组中的索引。最后&#xff0c;通过…...

前端多媒体处理工具——ffmpeg的使用

写在前面 在前端领域&#xff0c;FFmpeg 是一个非常有用的工具&#xff0c;它提供了多种媒体格式的封装和解封装&#xff0c;包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率切换等。可以在多种操作系统安装使用。 安装 下载FFmpeg 在网…...

Pandas 数据分析系列1--SeriesDataFrame数据结构详解

Pandas 概述 Pandas 是一个开源的数据分析和数据处理库,是基于 NumPy 开发的。它提供了灵活且高效的数据结构,使得处理和分析结构化、缺失和时间序列数据变得更加容易。其在数据分析和数据处理领域广泛应用,在金融、社交媒体、科学研究等领域都有很高的使用率和广泛的应用场…...

【模型部署】c++部署yolov5使用openvino

1. 推理方式 CPU推理GPU推理&#xff08;要求电脑具备核显&#xff0c;即CPU中有嵌入显卡&#xff09; 2. openvino依赖项下载 https://github.com/openvinotoolkit/openvino/releases 直接解压&#xff08;随便放到哪个路径&#xff09; 环境配置 ********&#xff08;…...

DC-7 靶机

DC_7 信息搜集 存活检测 详细扫描 后台网页扫描 网页信息搜集 搜索相关信息 在配置中发现了用户名密码字样 $username "dc7user"; $password "MdR3xOgB7#dW";ssh 登录 尝试使用获取的账密进行登录 网页登录失败 尝试 ssh 登录 成功登录 登陆今后提…...

Mr.Alright---MTK安卓13 抬手亮屏功能的逻辑

该功能在系统设置-显示-拿起设备时唤醒 alps\vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\display\LiftToWakePreferenceController.javapublic boolean isAvailable() {SensorManager sensors (SensorManager) mContext.getSystemServ…...

thinkPHP5.0字符集修改为utf8mb4

Q:为什么要用utf8mb4 A:utf8mb4可以直接保存emoji字符 MySQL修改字符集 // 数据表编码改为utf8mb4 function to_utf8mb4() {$database config("database.database");$sql "ALTER DATABASE {$database} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;&q…...

[架构之路-242]:目标系统 - 纵向分层 - 应用程序的类型与演进过程(单机应用程序、网络应用程序、分布式应用程序、云端应用程序、云原生应用程序)

目录 一、什么是计算机应用程序 1.1 什么是应用程序 1.2 应用程序的分类 二、应用程序架构分类详解与演进阶段 三、应用程序架构&#xff08;Application Architecture&#xff09; 3.1 基本类型 3.2 云应用程序架构 一、什么是计算机应用程序 1.1 什么是应用程序 计算…...

Jackson 反序列化失败,出现JSON: Unrecognized field

问题&#xff1a; 这边在灰度发布的时候&#xff0c;其他未发布的机器出现过could not read JSON: Unrecognized field “type”&#xff0c;这个报错&#xff0c;原因是有一个表新加了一个字段&#xff0c;并且灰度发布了一台机器&#xff0c;刚好有请求命中这台机器&#xf…...

vscode代码快捷输入

Vscode代码片段快捷输入 常用的代码片段为了避免重复输入,可以使用Vsco的中用户代码片段进行设置,这样就可以实现快捷输入. 操作流程 如下 打开vscode的设置 2. 找到用户代码片段 3. 选择模板 4. 然后写入代码片段即可 上面的代码片段可以设置多个,看自己 重点关注的是 prefi…...

【微服务】Feign 整合 Sentinel,深入探索 Sentinel 的隔离和熔断降级规则,以及授权规则和自定义异常返回结果

文章目录 前言一、Feign 整合 Sentinel1.1 实现步骤1.2 FallbackFactory 示例 二、Sentinel 实现隔离2.1 隔离的实现方法2.2 Sentinel 实现线程隔离示例 三、熔断降级规则3.1 熔断降级原理及其流程3.2 熔断策略 —— 慢调用3.3 熔断策略 —— 异常比例和异常数 四、授权规则4.1…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

StarRocks 全面向量化执行引擎深度解析

StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计&#xff0c;相比传统行式处理引擎&#xff08;如MySQL&#xff09;&#xff0c;性能可提升 5-10倍。以下是分层拆解&#xff1a; 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...