【笔记】Mysql查询语句的更多使用方法

前言

通过Mysql的SQL语句的查询语句,利用Mysql内置函数,查询更多信息

查询数据库的版本

1
SELECT version();

查询当前所使用的数据库名

1
SELECT database();

查询用户名

1
SELECT user();

查询当前用户名

1
SELECT current_user();

查询系统用户名

1
SELECCT system_user();

查询数据库的路径

  • 查询数据库在本地的存放路径
1
SELECT @@datadir;

查询操作系统版本

1
SELECT @@version_compile_os;

对字符串的操作

返回字符串的长度

<str>:字符串,也可以是返回字符串的SQL语句

1
SELECT length(<str>);

截取字符串

<str>:被截取的字符串
<start>:开始截取的下标
<step>:截取的长度

1
2
3
4
5
SELECT substring(<str>, <start>, <step>);

SELECT substr(<str>, <start>, <step>);

SELECT mid(<str>, <start>, <step>);

截取从头开始的字符串

<str>:被截取的字符串
<end>:截取的结束下标

1
SELECT left(<str>, <end>);

合并字符串

合并字符串后没有连接符

<str>:被合并的字符串

1
SELECT concat(<str_1>, <str_2>);

合并字符串有连接符

<char>:指定连接符字符
<str>:被合并的字符串

1
SELECT concat_ws(<char>, <str_1>, <str_2>);

合并一组字符串

  • 默认用逗号合并

<str_arr>:通过SQL语句返回的一组字符串

1
SELECT group_concat(<str_arr>);

返回字符的ASCII码

<char>:字符

1
2
3
SELECT ord(<char>);

SELECT ascii(<char>);

返回字符串的十六进制

<str>:字符串

1
SELECT hex(<str>);

返回字符串的MD5值

1
SELECT md5(<str);

对数值的操作

返回不大于某数的最大整数

<num>:数字

1
SELECT floor(<num>)

返回接近某浮点数的整数

  • 将小数四舍五入为整数

<num>:浮点数

1
SELECT round(<num>);

返回0-1之间的随机浮点数

1
SELECT rand();

读取文件

<file>:文件的路径

1
SELECT load_file();

睡眠指定时间

<time>:睡眠时间,单位秒

1
SELECT sleep(<time>);

判断语句

true:判断条件
1:当判断条件为真的时候执行的语句
0:当判断条件为假的时候执行的语句

1
SELECT if(true, 1, 0);

压力测试(循环语句)

  • 通过反复执行某个SQL语句,来测试某个SQL语句的执行效率
  • 返回值始终为0,但是可以显示出执行时间

<count>:执行次数
<sql>:某个SQL语句

1
SELECT benchmark(<count>, <sql>);

完成

参考文献

哔哩哔哩——千锋教育网络安全学院
博客园——duanxz