mysql函数汇总之系统信息函数

2023-05-16

mysql的系统信息有数据库的版本号、当前用户名和连接数、系统字符集、最后一个自动生成的ID值等。

图片

======================================================================================================================================================

获取mysql版本号、连接数和数据库名的函数

varsion()返回指示mysql服务器版本的字符串。

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.29    |
+-----------+
1 row in set (0.00 sec)

mysql>

获取mysql连接数

connection_id()返回mysql服务器当前连接的次数,每个连接都有各自唯一的id

mysql> select connection_id();
+-----------------+
| connection_id() |
+-----------------+
|              24 |
+-----------------+
1 row in set (0.00 sec)

mysql>

PS:返回值根据登录的次数会有所不同。

获取mysql运行线程

show processlist:显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态,可以借此排查出有问题的sql语句等。

注意:

1、如果是root账户,能看到所有用户的当前连接。其他用户只能看到自己的。

2、show processlist只能列出100条,如果想看全部的话可以使用show full processlist命令。

mysql> show processlist;
+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+
| Id | User            | Host            | db      | Command | Time   | State                  | Info             |
+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+
|  5 | event_scheduler | localhost       | NULL    | Daemon  | 946721 | Waiting on empty queue | NULL             |
| 24 | root            | localhost:58414 | test_db | Query   |      0 | init                   | show processlist |
+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+
2 rows in set (0.01 sec)

mysql>

使用show processlist命令查出的结果各个字段的含义:

  • ID:用户登录mysql时,系统分配的是coeenction id

  • User:显示 当前用户;

  • Host:显示这个语句使用哪个IP的哪个端口上发出的,可以用来追踪出现问题语句的用户;

  • db:显示这个进程目前连接的是哪个数据库;

  • Command:显示当前连接执行的命令,一般取值为休眠(sleep)、查询(query)、连接(connect);

  • Time:显示这个状态持续的时间,单位是秒;

  • State:显示使用当前连接的sql语句的状态。state只是语句执行中的某一个状态。一个sql语句,以查询为例,可能需要经过copying to tmp table、sorting result、sending date等状态才可以完成;

  • Info:显示这个sql语句,是判断问题语句的一个重要依据。

查看使用utf8字符集的默认数据库名

mysql> select database(), schema();
+------------+----------+
| database() | schema() |
+------------+----------+
| test_db    | test_db  |
+------------+----------+
1 row in set (0.00 sec)

mysql>

获取用户名的函数

下面几个函数可以返回当前被mysql服务器验证的用户名和主机组合:

  • user()

  • current_user

  • current_user()

  • system_user()

  • session_user()

mysql> select user(), current_user, system_user();
+----------------+----------------+----------------+
| user()         | current_user   | system_user()  |
+----------------+----------------+----------------+
| root@localhost | root@localhost | root@localhost |
+----------------+----------------+----------------+
1 row in set (0.00 sec)

mysql>

返回的结果值显示了当前账户连接服务器时的用户名及连接的客户主机,规则为:当前登录的用户名@当前登录的主机。

获取字符串的字符集和排序方式的函数

charset(str)返回字符串str自变量的字符集;

mysql> select charset('yunweijia') as roll, charset(convert('abc' using latin1)) as roll_1, charset(version()) as roll_2;
+---------+--------+---------+
| roll    | roll_1 | roll_2  |
+---------+--------+---------+
| utf8mb3 | latin1 | utf8mb3 |
+---------+--------+---------+
1 row in set (0.00 sec)

mysql>

collation(str)返回字符串str的字符排列方式;

mysql> select collation('yunweijia') as coll, collation(convert('yunweijia' using latin1)) as coll_1;
+-----------------+-------------------+
| coll            | coll_1            |
+-----------------+-------------------+
| utf8_general_ci | latin1_swedish_ci |
+-----------------+-------------------+
1 row in set (0.00 sec)

mysql>

获取最后一个自动生成的ID值的函数

last_insert_id()函数返回最后生成的自动递增的值;

(1)首先我们需要创建一个表;

mysql> create table test_1 (id int auto_increment not null primary key, name varchar(100));
Query OK, 0 rows affected (0.05 sec)

mysql>

(2)向我们刚创建的表中插入几条数据;

mysql> insert into test_1 values(null, 'zhangsan'), (null, 'lisi'), (null, 'wangwu');
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>

(3)查看下表中数据;

mysql> select * from test_1;
+----+----------+
| id | name     |
+----+----------+
|  1 | zhangsan |
|  2 | lisi     |
|  3 | wangwu   |
+----+----------+
3 rows in set (0.00 sec)

mysql>

(4)使用last_insert_id()查看最后自动生成的id值;

mysql> select last_insert_id();
+------------------+
| last_insert_id() |
+------------------+
|                1 |
+------------------+
1 row in set (0.00 sec)

mysql>

为什么会是1,而不是3呢?

继续往下看;

(5)再次插入数据;

mysql> insert into test_1 values (null, 'yunwei');
Query OK, 1 row affected (0.01 sec)

mysql> insert into test_1 values (null, 'yunweijia');
Query OK, 1 row affected (0.01 sec)

mysql> insert into test_1 values (null, '0909');
Query OK, 1 row affected (0.01 sec)

mysql>

(6)查看数据表内容

mysql> select * from test_1;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | zhangsan  |
|  2 | lisi      |
|  3 | wangwu    |
|  4 | yunwei    |
|  5 | yunweijia |
|  6 | 0909      |
+----+-----------+
6 rows in set (0.00 sec)

mysql>

(7)查看auto_increment()的值

mysql> select last_insert_id();
+------------------+
| last_insert_id() |
+------------------+
|                6 |
+------------------+
1 row in set (0.00 sec)

mysql>

这是为什么呢?

这是因为第一次插入的三条数据,使用的是一条sql,使用last_insert_id()的使用,只返回这条sql获取的第一个auto_increment的值,即虽然插入了3条数据,但是他获取的仅仅是第一条数据插入时候的auto_increment的值,也就是1;

为什么返回6,是因为后来插入的三条数据是分别插入的,所以说每次获取的都是属于他自己的auto_increment,故而是返回了6。

小提示:

last_insert_id是和数据表无关的,如果向表test_1插入数据后再向表test_2插入数据,那么last_insert_id返回表test_2中的auto_increment的值。

至此,本文结束。

更多内容请转至VX公众号 “运维家” ,获取最新文章。

------ “运维家” ------

------ “运维家” ------

------ “运维家” ------

linux中断异常,linuxuml建模,linux编译多个源文件,linux怎么更新时间,linux中的分页视频教程,
linux怎么解压gzip,linux解压某个目录,怎么关闭linux网关,linux文件架构图,linux提高权限执行,
linux文件用什么标志,网络安全linux加固,linux中查看邮件,linux修改背景颜色,linux环境下搭建网站。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql函数汇总之系统信息函数 的相关文章

  • 【随笔】Ubuntu远程桌面+Docker显示问题记录

    场景 xff1a 两台Linux主机 B主机需要远程桌面到A主机上运行程序 xff0c 需要运行的程序是跑在A主机的Docker里面的 需要实现的效果就是 xff0c A主机分一些资源给B主机来跑程序 xff0c B在跑程序的时候不能影响A
  • 树莓派4B SD卡烧录、安装 ubuntu mate 20.04 教程

    系统安装 一 下载系统镜像 默认是在树莓派4B上安装ubuntu mate系统 xff0c 当然可以安装其他的系统 xff0c 这里不做介绍 Ubuntu MATE是Ubuntu Linux官方的一个派生版 xff0c 基于桌面环境MATE
  • Movidus 神经计算棒 树莓派平台 ncsdk2.0 完全配置 及 一些问题

    配置之前的琐事和解决方法 之前配置了的1 x版本的ncsdk 错误百出 xff0c 于是有了另一篇文章就是纯API配置 xff0c 没有配完全版 经过我的测试 xff0c 用以下方法配置是可以用的 配置方法和下面的2 0类似 xff0c 不
  • 小猫爪:PMSM之FOC控制12-扩展卡尔曼滤波状态观测器解析

    小猫爪 xff1a PMSM之FOC控制12 扩展卡尔曼滤波状态观测器解析 1 前言2 卡尔曼滤波的原理2 1 卡尔曼滤波的思想2 2 卡尔曼滤波的过程 3 卡尔曼滤波和观测器的联系3 1 观测器的引入3 2 卡尔曼滤波在观测器的体现 4
  • git怎么合并两个分支

    git怎么合并分支代码 1 git 命令 注意 第一步你得把当前分支合到远程分支去才能有下面的操作 另外我是将develop分支代码合并到release分支去 1 推完代码到远程仓库查看本地分支 如果推错分支代码那么请将分支切到刚刚推送上去
  • 小猫爪:嵌入式小知识11-MPU详解及其应用

    小猫爪 xff1a 嵌入式小知识11 MPU详解及其应用 1 前言2 MPU简介3 MPU相关概念3 1 Memory Map3 2 MPU Region3 3 Region优先级3 4 Background Region3 5 Cache
  • MavSDK&Mavros学习笔记

    MavSDK amp Mavros学习笔记 Introduction MAVSDK Guide mavlink io GitHub mavlink MAVSDK源码 C 43 43 MAVSDK API reference paper Gi
  • Ubuntu realsenseSDK2安装方法

    分为两种 xff0c 这里只是Intel的翻译和个人安装记录总结 详细可以参看Intel realsenseSDK2的github仓库Release Intel RealSense SDK 2 0 v2 51 1 IntelRealSens
  • ROS☞通过两种方法提取.bag中的图像数据

    以下两种环境均在Ubuntu16 04环境下测试成功 第一种方法 ROS 从rosbag中提取图像 xff08 by launch文件 xff09 1 新建launch文件 xff08 文件在哪无所谓 xff0c 可以在catkin ws的
  • Git基础教程(二)

    使用Git删除文件 1 直接删除 可以使用rm命令删除文件 xff0c 如 xff1a rm welcome html 然后查看一下状态 xff1a 然后发现welcome html的状态为deleted xff0c 如果你真的想在git管
  • Git基础教程(三)

    Git分支 在git中使用分支非常简单 xff0c 只需要使用Git branch命令即可 xff1a git branch test 新建test分支 此时使用git branch查看一下分支 xff1a 此时的确多了一个分支 xff0c
  • Git基础教程(四)

    工作做到一半需要临时切换到别的任务 1 先commit当前的进度 简单的做法先保存当前的修改 然后切换到有问题的分级 xff0c 先完成别的功能 xff0c 然后切换回原来做到一半的develop分支 xff0c 执行reset命令 xff
  • jupyter notebook matplotlib绘制动态图并显示在notebook中

    有些时候matplotlib 的绘图没法显示在notebook中 xff0c 或者显示不了 这与backend有关 首先启动你的notebook xff0c 输入 pylab 查看你的matplotlib后端 xff0c 我的输出为 xff
  • 主机连接wifi,如何设置虚拟机上网方式

    主机是windows系统 xff08 win7 xff0c win10 xff09 xff0c 如果使用wifi上网 xff0c 虚拟机如何设置 xff1f xff1f 首先打开主机网络 xff08 如下所示 xff09 xff1a 1 点
  • VS2015断点调试方法

    备注 xff1a 部分图片 xff08 打马赛克的 xff09 转自百度 xff0c 侵删 xff01 果真被和谐了 xff0c 大家还是看这个网页吧 xff1a https jingyan baidu com album e75057f2
  • FreeRTOS 源代码的编程标准与命名约定

    一 编程标准 xff08 Coding Standard xff09 FreeRTOS 源代码遵守 MISRA Motor Industry Software Reliability Association 规范 与 MISRA 标准有出入
  • 特征匹配中OpenCV Dmatch类的用法解析以及非常详细的ORB特征提取与匹配解析

    首先说明一点 xff0c 在SLAM中进行特征提取和匹配时 xff0c 需要注意使用的OpenCV版本 xff0c 在使用OpenCV2 x版本时 xff0c 可以创建特征对象如下所示 xff08 省略了参数表 xff09 xff1a OR
  • 单目视觉里程计的尺度问题的疑问?

    SLAM是个坑 经过一段时间对SLAM的了解 xff0c 原来是我理解有错误 xff0c 得到的尺度已经是统一的 xff0c 只是不知道它的真实尺度是多少 贴一个不错的视觉里程计简介的链接 xff1a https blog csdn net
  • 使用ORB_SLAM2的方式进行特征检测和提取

    比较opencv默认的方式和ORB SLAM2中对opencv进行重写的方式 xff0c 两个方法对图像特征提取结果的对比 为方便比较 xff0c 写在同一个文件中 主函数如下 xff1a include lt iostream gt in
  • 什么是归一化的平面坐标

    所谓的归一化的成像平面 xff0c 就是将三维空间点的坐标都除以Z 所有空间点坐标都转到了相机前单位距离处 xff0c 这个平面就叫归一化的平面 xff0c 之后再乘以焦距 f f f xff0c 让归一化平面回到成像平面 以一张别的博主做

随机推荐

  • 无人机编程实战第1讲——无人机简介

    目录 前言 一 飞控是什么 xff1f 二 扫盲行动 xff01 xff01 xff01 1 微控制器 2 传感器 3 处理 xff1f 4 无人机飞行姿态 总结 前言 随着开源无人机飞行控制器的不断发展 xff0c 越来越多优秀的代码与算
  • 阿里云Serverless kubernetes服务购买体验

    阿里云Serverless kubernetes服务购买体验 Serverless kubernetes是什么优点缺点体验步骤价格ECI的价格 xff1a ECS的价格 阿里云Serverless Kubernetes支持列表总结 Serv
  • python修改xml文件内容,不废话,拿来即用

    XML 被设计用来传输和存储数据 HTML 被设计用来显示数据 XML 指可扩展标记语言 xff08 eXtensible Markup Language xff09 可扩展标记语言 xff08 英语 xff1a Extensible Ma
  • mysql如何删除数据表,被关联的数据表如何删除呢

    删除数据表的时候 xff0c 表的定义和表中所有的数据均会被删除 因此 xff0c 在进行删除操作前 xff0c 最好对表中的数据做一个备份 xff0c 以免造成无法挽回的后果 mysql删除数据表分为两种情况 xff1b mysql删除没
  • mysql8.0新特性-自增变量的持久化

    在mysql8 0之前 xff0c 自增主键AUTO INCREMENT的值如果大于max primay key 43 1 xff0c 在mysql重启后 xff0c 会重置AUTO INCREMENT 61 max primay key
  • 双系统重装Ubuntu20.04及系统基本配置

    文章目录 前言Ubuntu20 04换源安装chrome浏览器安装OneNote安装Wechat QQ Dingtalk参考 前言 笔者从2019年9月份去长沙智能驾驶研究院开始接触ubuntu18 04 在2020年4月份做本科毕业设计的
  • 视觉 SLAM 十四讲 —— 第十三讲 建图

    视觉 SLAM 十四讲 第十三讲 建图 在前端和后端中 xff0c 我们重点关注同时估计相机运动轨迹与特征点空间位置的问题 然而 xff0c 在实际使用 SLAM 时 xff0c 除了对相机本体进行定位之外 xff0c 还存在许多其他的需求
  • mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍

    mysql表中数据表的各种操作 xff0c 创建表 添加各类约束 查看表结构 修改和删除表 这次带你捋清楚 xff0c 从头再走一遍 实验目的 创建 修改和删除表 xff0c 掌握数据表的基本操作 实验结果 创建数据库company xff
  • nginx自动摘除和恢复后端服务,进行自动检测

    主动地健康检查 xff0c nginx定时主动地去ping后端的服务列表 xff0c 当发现某服务出现异常时 xff0c 把该服务从健康列表中移除 xff0c 当发现某服务恢复时 xff0c 又能够将该服务加回健康列表中 nginx自带的u
  • nginx中配置root和alias的区别

    在nginx中 xff0c root和alias都可以代理静态资源 xff0c 那么他们两个有什么区别呢 xff1f 在什么情况下使用什么呢 初识 xff1a root和alias都可以在定义在location模块中 xff0c 都是用来请
  • 史上最全的mysql数据类型汇总-(上)

    mysql支持多种数据类型 xff0c 主要有数值类型 日期 时间类型以及字符串类型 整数类型 数值型数据类型主要用来存储数字 xff0c mysql提供了多种数值数据类型 xff0c 不同的数据类型提供不同的取值范围 xff0c 可以存储
  • 史上最全的mysql数据类型汇总(下)

    接着上文继续来梳理 xff0c 上文我们写到了日期与时间类型中的time类型 xff0c 然后我们接着来写日期与时间类型中的date类型 date类型 date类型用在仅需要日期值时 xff0c 没有时间部分 xff0c 在存储时需要3字节
  • mysql中的字段如何选择合适的数据类型呢?

    前面两篇我们介绍了很多种数据类型 xff0c 那么有没有看花眼呢 xff0c 我们在mysql中创建数据表的时候 xff0c 到底应该选择哪一种数据类型呢 xff1f 这次我们就来简单的梳理一下子把 准则 我们不论要如何创建数据表 xff0
  • mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏

    运算符连接表达式中的各个操作数 xff0c 他的作用是用来指明对数据表中的操作数所进行的运算 运用运算法有什么好处呢 xff1f 运用运算符可以更加灵活的使用表中的数据 xff0c 我们可以通过使用运算符来解决我们的很多问题 xff0c 大
  • mysql函数汇总之数学函数

    什么是mysql函数 xff1f 61 61 61 61 61 61 61 61 61 61 61 61 61 61 函数表示对输入参数值返回一个具有特定关系的值 xff0c mysql提供了大量丰富的函数 xff0c 在进行数据库管理以及
  • mysql函数汇总之字符串函数

    字符串函数主要用来处理数据库中的字符串数据 mysql中的字符串函数有计算字符串长度函数 字符串合并函数 字符串替换函数 字符串比较函数 查找指定字符串位置函数等 计算字符串字符数的函数 CHAR LENGTH str 函数计算字符串str
  • mysql函数汇总之日期和时间函数

    日期和时间函数主要用来处理日期和时间值 xff0c 一般的日期函数除了使用date类型的参数外 xff0c 也可以使用datetime或者timestamp类型的参数 xff0c 但会忽略这些值的时间部分 获取当前日期的函数 curdate
  • [ Ubuntu 使用技巧 ] 在当前工作目录打开 Terminal

    1 General Purposes Why I wrote this 在 Ubuntu 系统开发最舒服的一点就是可以开心地使用 Terminal 这是个好东西 xff0c 尤其当你熟悉大部分的常用命令之后 xff0c 对日常的代码工作还有
  • mysql函数汇总之条件判断函数

    条件判断函数也被称为控制流程函数 xff0c 根据满足的不同条件 xff0c 执行响应的流程 mysql中进行条件判断的函数有if ifunll和case等 IF expr v1 v2 函数 IF expr v1 v2 xff1a 如果表达
  • mysql函数汇总之系统信息函数

    mysql的系统信息有数据库的版本号 当前用户名和连接数 系统字符集 最后一个自动生成的ID值等 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61