【MySQL从入门到精通】常用SQL语句分享

前言:

日常工作或学习过程中,我们可能会经常用到某些SQL,建议大家多多整理记录下这些常用的SQL,这样后续用到会方便很多。笔者在工作及学习过程中也整理了下个人常用的SQL,现在分享给你!可能有些SQL你还不常用,但还是希望对你有所帮助,说不定某日有需求就可以用到。

注:下文分享的SQL适用于MySQL 5.7 版本,低版本可能稍许不同。有些SQL可能执行需要较高权限。

1.show相关语句
# 查看实例参数 例如:
show variables like '%innodb%';
show global variables like '%innodb%';# 查看实例状态,例如:
show status like 'uptime%';
show global status like 'connection%';# 查看数据库链接:
show processlist;
show full processlist;# 查询某个表的结构:
show create table tb_name;# 查询某个表的详细字段信息:
show full columns from tb_name;# 查询某个表的全部索引信息:
show index from tb_name;# 查询某个库以cd开头的表:
show tables like 'cd%';# 查询某个库中的所有视图:
show table status where comment='view';# 查询某个用户的权限:
show grants for 'test_user'@'%';
2.查看账户相关信息
# 这里先介绍下CONCAT函数:在MySQL中 CONCAT()函数用于将多个字符串连接成一个字符串,
利用此函数我们可以将原来一步无法得到的sql拼接出来,后面部分语句有用到该函数。
# 当拼接字符串中出现''时 需使用\转义符# 查看所有用户名:
SELECT DISTINCTCONCAT('User: \'',user,'\'@\'',host,'\';') AS QUERY
FROMmysql.user;# 查看用户详细信息:
SELECT user,host,authentication_string,password_expired,password_lifetime,password_last_changed,account_locked 
FROMmysql.user;
3.KILL数据库链接
# 下面列举SQL只是拼接出kill 链接的语句,若想执行 直接将结果复制执行即可。
# 杀掉空闲时间大于2000s的链接:
SELECTconcat( 'KILL ', id, ';' ) 
FROMinformation_schema.`PROCESSLIST` 
WHERECommand = 'Sleep' AND TIME > 2000;# 杀掉处于某状态的链接:
SELECTconcat( 'KILL ', id, ';' ) 
FROMinformation_schema.`PROCESSLIST` 
WHERESTATE LIKE 'Creating sort index';# 杀掉某个用户的链接:
SELECTconcat( 'KILL ', id, ';' ) 
FROMinformation_schema.`PROCESSLIST` 
WHEREwhere user='root';
4.拼接创建数据库或用户语句
# 拼接创建数据库语句(排除系统库):
SELECTCONCAT('create database ','`',SCHEMA_NAME,'`',' DEFAULT CHARACTER SET ',DEFAULT_CHARACTER_SET_NAME,';') AS CreateDatabaseQuery
FROMinformation_schema.SCHEMATA
WHERESCHEMA_NAME NOT IN ('information_schema','performance_schema','mysql','sys');# 拼接创建用户语句(排除系统用户):
SELECTCONCAT('create user \'',user,'\'@\'',Host,'\''' IDENTIFIED BY PASSWORD \'',authentication_string,'\';') AS CreateUserQuery
FROMmysql.`user`
WHERE`User` NOT IN ('root','mysql.session','mysql.sys');
# 有密码字符串哦 在其他实例执行 可直接创建出与本实例相同密码的用户。
5.查看库或表大小
# 查看整个实例占用空间大小:
SELECTconcat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB,concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB 
FROMinformation_schema.`TABLES`;# 查看各个库占用大小:
SELECTTABLE_SCHEMA,concat( TRUNCATE ( sum( data_length )/ 1024 / 1024, 2 ), ' MB' ) AS data_size,concat( TRUNCATE ( sum( index_length )/ 1024 / 1024, 2 ), 'MB' ) AS index_size 
FROMinformation_schema.`TABLES`
GROUP BYTABLE_SCHEMA;# 查看单个库占用空间大小:
SELECTconcat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB,concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB 
FROMinformation_schema.`TABLES`
WHEREtable_schema = 'test_db';# 查看单个表占用空间大小:
SELECTconcat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB,concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB 
FROMinformation_schema.`TABLES`
WHEREtable_schema = 'test_db' AND table_name = 'tbname';
6.查看表碎片及收缩语句
# 查看某个库下所有表的碎片情况:
SELECTt.TABLE_SCHEMA,t.TABLE_NAME,t.TABLE_ROWS,concat( round( t.DATA_LENGTH / 1024 / 1024, 2 ), 'M' ) AS size,t.INDEX_LENGTH,concat( round( t.DATA_FREE / 1024 / 1024, 2 ), 'M' ) AS datafree 
FROMinformation_schema.`TABLES` t 
WHEREt.TABLE_SCHEMA = 'test_db' 
ORDER BYdatafree DESC;# 收缩表,减少碎片:
alter table tb_name engine = innodb;
optimize table tb_name;
7.查找无主键表
# 查找某一个库无主键表:
SELECT
table_schema,
table_name
FROMinformation_schema.`TABLES`
WHEREtable_schema = 'test_db'
AND TABLE_NAME NOT IN (SELECTtable_nameFROMinformation_schema.table_constraints tJOIN information_schema.key_column_usage k USING (constraint_name,table_schema,table_name)WHEREt.constraint_type = 'PRIMARY KEY'AND t.table_schema = 'test_db'
);# 查找除系统库外 无主键表:
SELECTt1.table_schema,t1.table_name
FROMinformation_schema.`TABLES` t1
LEFT OUTER JOIN information_schema.TABLE_CONSTRAINTS t2 ON t1.table_schema = t2.TABLE_SCHEMA
AND t1.table_name = t2.TABLE_NAME
AND t2.CONSTRAINT_NAME IN ('PRIMARY')
WHEREt2.table_name IS NULL
AND t1.TABLE_SCHEMA NOT IN ('information_schema','performance_schema','mysql','sys'
) ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓系统的录屏工具 scrcpy

提供在windows、linux、mac进行命令行的录屏 GitHub - Genymobile/scrcpy: Display and control your Android device 要求安卓5.0以上版本,使能ADB debug It focuses on: lightness: native, displays only the device screenperformance: 30~120fps, depending …

股票价格预测 | Python实现Autoformer, FEDformer和PatchTST等模型用于股价预测

文章目录 效果一览文章概述环境描述源码设计效果一览 文章概述 Autoformer、FEDformer和PatchTST是一些用于时间序列预测,包括股价预测的模型。它们都是在Transformer模型的基础上进行了改进和扩展,以更好地适应时间序列数据的特点。 Autoformer:Autoformer是一种自适应Tran…

pytorch05:卷积、池化、激活

目录 一、卷积1.1 卷积的概念1.2 卷积可视化1.3 卷积的维度1.4 nn.Conv2d1.4.1 无padding 无stride卷积1.4.2 无padding stride2卷积1.4.3 padding2的卷积1.4.4 空洞卷积1.4.5 分组卷积 1.5 卷积输出尺寸计算1.6 卷积的维度1.7 转置卷积1.7.1 为什么被称为转置卷积1.7.2 nn.Con…

批量估计问题

最大后验估计MAP x ^ arg ⁡ max ⁡ x p ( x ∣ u , y ) \hat{x}\arg \max _{x}p\left( x|u,y\right) x^argxmax​p(x∣u,y) 我们希望在给定先验信息和所有时刻的输入 u u u和观测 y y y,推断出所有时刻的最优状态 x ^ \hat{x} x^。为此我们定义几个宏观变量。 x…

【HDFS联邦(2)】HDFS Router-based Federation官网解读:HDFSRouterFederation的架构、各组件基本原理

文章目录 一. 介绍二、HDFS Router-based Federation 架构1. 示例说明2. Router2.1. Federated interface2.2. Router heartbeat2.3. NameNode heartbeat2.4. Availability and fault toleranceInterfaces 3. Quota management4. State Store 三、部署 ing 本文主要参考官网&am…

JavaScript系列——正则表达式

文章目录 需求场景正则表达式的定义创建正则表达式通过 / 表示式/ 创建通过构造函数创建 编写一个正则表达式的模式使用简单模式使用特殊字符常用特殊字符列表特殊字符组和范围 正则表达式使用代码演示 常用示例验证手机号码合法性 小结 需求场景 在前端开发领域,在…

C语言 指针

C语言学习! 目录 文章目录 前言 一、指针是什么? 二、指针变量的大小 三、指针和指针类型 四、指针和函数 五、野指针 5.1野指针成因 5.2 如何规避野指针 六、指针运算 6.1 指针- 整数 6.2 指针-指针 6.3 指针的关系运算 总结 前言 指针理解的2个要点&a…

前端Vue中自定义Popup弹框、按钮及内容的设计与实践

标题:前端Vue中自定义Popup弹框、按钮及内容的设计与实践 一、引言 在Web前端开发中,弹框(Popup)是一种常见的用户界面元素,用于向用户显示额外的信息或提供额外的功能。然而,标准的弹框往往不能满足所有…

Django学习3——靓号管理

目录 靓号管理 表结构和数据 根据表结构的需求,在models.py中创建类(由类生成数据库中的表) 在数据库生成表 自己在数据模拟创建一些数据: 靓号列表 新建靓号 编辑靓号 删除靓号 搜索靓号 靓号管理 表结构和数据 根…

DHCP学习记录

目录 客户端向DHCP服务端申请租用IP的4个阶段: 客户端向HDCP服务器续租IP过程: 客户端重新连接租用IP过程: 客户端释放IP 声明: (Dynamic Host Configuration Protocol)动态主机配置协议,客户端向DHCP服务端申请获得ip的一种约定俗成的话语(协议) 手工配置方式…

啊哈c语言——4.10、for隆重登场(一起来找茬)

下面这段代码是求12345678910的值。其中有4个错误&#xff0c; 快来改正吧&#xff01; 改正后&#xff1a; #include <stdio.h> #include <stdlib.h> int main( ) {int i, sum;sum1;for(i1; i<10;i){sumsum*i;}printf("%d", sum);system("paus…

如何在无公网IP环境使用Windows远程桌面Ubuntu

文章目录 一、 同个局域网内远程桌面Ubuntu二、使用Windows远程桌面连接三、公网环境系统远程桌面Ubuntu1. 注册cpolar账号并安装2. 创建隧道&#xff0c;映射3389端口3. Windows远程桌面Ubuntu 四、 配置固定公网地址远程Ubuntu1. 保留固定TCP地址2. 配置固定的TCP地址3. 使用…

appium安装运行报错的解决方案

appium版本2.3 java17 运行报错&#xff1a; Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: Could not…

WSL2Linux 子系统(七)

WSL 配置 在 Windows Subsystem for Linux (WSL) 中&#xff0c;可以使用一个名为 .wslconfig 的配置文件来对整个 WSL 子系统进行全局配置。这个配置文件允许你指定一些高级选项&#xff0c;例如默认的 WSL 发行版、虚拟机内存限制等。wsl.conf 用于为在 WSL 1 或 WSL 2 上运…

40道MyBatis面试题带答案(很全)

1. 什么是MyBatis &#xff08;1&#xff09;Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;开发时只需要关注SQL语句本身&#xff0c;不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接…

C语言char 到底是signed char 还是unsigned char

C语言标准并没有规定&#xff0c;取决于编译器 在C语言中&#xff0c;char是一种整数类型&#xff0c;可以是signed char或unsigned char&#xff0c;最佳实践是当需要确切知道字符类型的符号属性时&#xff0c;应显式声明为signed char或unsigned char。 signed char&#xf…

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

描述 环境&#xff1a;VM4.0.0 VS2015 及以上 现象&#xff1a;方案或流程运行执行之后&#xff0c;就可以获取结果&#xff0c;可以通过获取渲染结果和数据结果&#xff0c; 渲染结果通过绑定渲染控件进行显示。 解答 渲染结果的显示可以通过渲染控件绑定流程或者模块&#x…

RSA加密解密——用shell加密java解密

功能描述 使用shell opensll对明文进行RSA加密&#xff0c;将密文用java的RSA工具对密文解密。这应该是全网第一个同时用到shell和java的RSA加密解密教程。中间有很多坑&#xff0c;都踩过了&#xff0c;可以放心使用代码。 正确的实现流程 shell端 首先生成公钥私钥 &…

【华为机试】2023年真题B卷(python)-冠亚军排名-奖牌榜排名

一、题目 题目描述&#xff1a; 2012伦敦奥运会即将到来&#xff0c;大家都非常关注奖牌榜的情况&#xff0c;现在我们假设奖牌榜的排名规则如下. 1.首先gold medal数量多的排在前面 2.其次silver medal数量多的排在前面 3.然后bronze medal数量多的排在前面 4.若以上三个条…

AndroidR集成三方Native服务组件

一、背景 该项目为海外欧盟市场版本,需集成三方IDS安全组件,进程运行时注入iptables指令至链表,检测网络运行状态,并收集异常日志并压缩打包成gz文件,提供给Android上层应用上报云端。 二、分析 1、将提供的组件包集成至系统vendor分区 /vendor/bin/idsLogd/vendor/li…