1 查看数据库默认的存储引擎
SHOW VARIABLES LIKE 'storage_engine';
2 查看数据库有哪些存储引擎
SHOW ENGINES;
3 查看表的基本结构
desc table1;
4 查看建表语句
show create table 表名;
5 设置时区为东时区
set time_zone='+10:00'
6 显示mysql版本号
select VERSION()
7 显示mysql服务器当前连接的次数,每个连接都有各自唯一的id
select CONNECTION_ID()
8 显示出有哪些线程在运行
show PROCESSLIST
show FULL PROCESSLIST

9 查看当前使用的数据库
select DATABASE()
select SCHEMA()
10 获取用户名的函数
select USER(),CURRENT_USER,SYSTEM_USER(),SESSION_USER()
11 字符集查询
select CHARSET(VERSION())
12 字符排序方式,不同字符集的排序方式不同
select COLLATION(VERSION())
13 加密字段值
select id,MD5(name) from user
14 带盐加解密,版本5.6可用,版本8不可用。解密没通过。
select ENCODE(act_name,'123') from t_act_common_base_info
select DECODE('a�ۺ4˙}','123') from t_act_common_base_info
15 数据格式化
select age,FORMAT(age,3) from user
16 改变数据类型的函数
17 创建存储过程、查看存储过程和函数、删除存储过程
show FUNCTION status
show PROCEDURE status
show PROCEDURE status like '%TestUser'
drop PROCEDURE selectTestUser;
#####创建查询
delimiter //
create procedure selectTestUser()
begin
select * from test_user;
end
//
#####创建循环插入测试数据的sql
delimiter //
create procedure insertTestUser()
BEGIN
DECLARE n int DEFAULT 1;
#定义默认n的初始值是1,
while n <= 1000000 DO
#如果n< 100000那么就插入一条数据.
INSERT INTO `mine`.`test_user` VALUES (default,CONCAT('jll钟爱的佛啊士大夫',n), CONCAT('123456才能做出',n), CONCAT('123456才能做出',n,n), now(), CONCAT('ffffcare',n), now(), '1', '1');
#插入指定数据
set n = n+1;
#数据插入后 n=n+1
end WHILE;
#结束while循环
END
//
18 查看mysql的事物隔离级别
# 查询
SHOW VARIABLES LIKE '%iso%';
# 修改查询结果
SET transaction_isolation='READ-COMMITTED';
show global variables like 'transaction_isolation';
set @@global.transaction_isolation='REPEATABLE-READ';
set global transaction_isolation=1;
19 使用查询优化器
set optimizer_trace = "enabled=on";
show variables like '%optimizer_trace%';
# 执行sql
select * from information_schema.optimizer_trace;