Mysql-常用Mysql语句

0.背景

记录下常用的Mysql语句,持续更新,方便以后复制。

1.实例

-- ---------------------  普通查询相关 ------------------------------
-- 查询数据库版本
SELECT version();

-- 查询表状态
SHOW TABLE STATUS LIKE 'mq_trans';

-- 查看建表语句
show create table var1;

-- 查看表中的字段信息
show full columns from kong_log;

-- 查看那些表里有batch_id这个字段
select table_schema, table_name from information_schema.columns where column_name = 'var1';

-- 查看哪些表最近被修改了
SELECT TABLE_SCHEMA, TABLE_NAME, UPDATE_TIME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA NOT IN ('information_schema', 'mysql')
ORDER BY UPDATE_TIME DESC;

-- 清空表数据
-- START TRANSACTION;
-- TRUNCATE TABLE table_name;
-- COMMIT;
-- ROLLBACK;

-- 重置递增字段值到0
# ALTER TABLE mq_trans AUTO_INCREMENT=0;

-- 查看库中各个表的数据量等信息
SELECT
	TABLE_CATALOG AS '目录',
	TABLE_SCHEMA AS '数据库',
	TABLE_COMMENT AS '表注释',
	TABLE_NAME AS '表名',
	TABLE_TYPE AS '表类型',
	TABLE_ROWS AS '记录数',
	CONCAT( ROUND( DATA_LENGTH / ( 1024 * 1024 ), 2 ), 'M' ) AS '数据大小',
	TABLE_COLLATION AS '字符集与排序规则',
	CREATE_TIME AS '创建时间',
	UPDATE_TIME AS '更新时间',
	AUTO_INCREMENT AS '自增长值',
	ENGINE AS '存储引擎',
	VERSION AS '版本号',
	ROW_FORMAT AS '行格式',
	CONCAT( ROUND( AVG_ROW_LENGTH / ( 1024 ), 2 ), 'K' ) AS '平均行大小',
	CONCAT( ROUND( MAX_DATA_LENGTH / ( 1024 ), 2 ), 'K' ) AS '最大数据大小',
	CONCAT( ROUND( INDEX_LENGTH / ( 1024 * 1024 ), 2 ), 'M' ) AS '索引大小',
	CONCAT( ROUND( DATA_FREE / ( 1024 * 1024 ), 2 ), 'M' ) AS '空闲空间',
	CHECK_TIME AS '检查时间',
	CHECKSUM AS '校验和',
	CREATE_OPTIONS AS '创建选项' 
FROM
	INFORMATION_SCHEMA.TABLES 
WHERE
	TABLE_SCHEMA = 'svcscs_0';



-- ----------- 日期相关
-- 将时间戳格式化
SELECT DATE_FORMAT(FROM_UNIXTIME(1683854650), '%Y/%m/%d %H:%i:%s');

-- 查询三个月前的今天
SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y/%m/%d') AS three_months_ago;

-- ---------------------  性能分析相关 ------------------------------
-- ----------- 索引
-- 执行计划
EXPLAIN 
;

-- 查看索引信息
SHOW INDEX FROM kong_log;

-- 增加普通索引
ALTER TABLE `kong_log` ADD INDEX idx_gmt_create (gmt_create);

-- 删除索引
DROP INDEX index_name ON table_name;

-- ----------- 慢查询
-- 是否展示慢查询日志
show variables like 'slow_query_log';
set global slow_query_log = 1;

-- 是否开启索引日志
show variables like 'log_queries_not_using_indexes';
set global log_queries_not_using_indexes=1;

-- 超过多久记录到慢查询日志中
show variables like 'long_query_time';
set global long_query_time = 10;

-- 慢查询日志位置
SHOW VARIABLES LIKE 'slow_query_log_file';

2.使用

额,可以像我这样新建一个通用查询保存好,想用了直接运行就行。

image-20230512094154697

posted @ 2023-05-12 09:16  羊37  阅读(12)  评论(0编辑  收藏  举报