MySQL笔记之系统信息函数详解

 更新时间:2013年05月03日 15:04:12   作者:  
本篇文章对MySQL系统信息函数进行了详解的介绍。需要的朋友参考下

系统信息函数用来查询mysql数据库的系统信息

VERSION()返回数据库版本号

复制代码 代码如下:

mysql> SELECT VERSION();
+-------------------------+
| VERSION()               |
+-------------------------+
| 5.5.28-0ubuntu0.12.10.2 |
+-------------------------+
 row in set (0.00 sec)

我这里用的是基于ubuntu发行版,Linux Mint


CONNECTION_ID()返回数据库的连接次数

复制代码 代码如下:

mysql> SELECT CONNECTION_ID();
+-----------------+
| CONNECTION_ID() |
+-----------------+
|              36 |
+-----------------+
 row in set (0.00 sec)

其实每次连接到mysql的时候就会有显示


DATABASE()、SCHEMA()返回当前数据库名

复制代码 代码如下:

mysql> SELECT DATABASE(), SCHEMA();
+------------+----------+
| DATABASE() | SCHEMA() |
+------------+----------+
| person     | person   |
+------------+----------+
 row in set (0.00 sec)

USER()、SYSTEM_USER()、SESSION_USER()返回当前用户

复制代码 代码如下:

mysql> SELECT USER(), SYSTEM_USER(), SESSION_USER();
+----------------+----------------+----------------+
| USER()         | SYSTEM_USER()  | SESSION_USER() |
+----------------+----------------+----------------+
| root@localhost | root@localhost | root@localhost |
+----------------+----------------+----------------+
 row in set (0.00 sec)

CURRENT_USER()、CURRENT_USER返回当前用户
复制代码 代码如下:

mysql> SELECT CURRENT_USER(), CURRENT_USER;
+----------------+----------------+
| CURRENT_USER() | CURRENT_USER   |
+----------------+----------------+
| root@localhost | root@localhost |
+----------------+----------------+
 row in set (0.00 sec)

上面的三个和这两个功能是一样的


CHARSET(str)返回字符串str的字符集

复制代码 代码如下:

mysql> SELECT CHARSET('张三');
+-------------------+
| CHARSET('张三')   |
+-------------------+
| utf8              |
+-------------------+
 row in set (0.00 sec)

COLLATION(str)返回字符串str的字符排列方式
复制代码 代码如下:

mysql> SELECT COLLATION('张三');
+---------------------+
| COLLATION('张三')   |
+---------------------+
| utf8_general_ci     |
+---------------------+
 row in set (0.00 sec)

LAST_INSERT_ID()返回最后生成的AUTO_INCREMENT值
复制代码 代码如下:

mysql> CREATE TABLE t1(id INT PRIMARY KEY AUTO_INCREMENT);
Query OK, 0 rows affected (0.10 sec)

mysql> INSERT INTO t1 VALUES(NULL);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO t1 VALUES(NULL);
Query OK, 1 row affected (0.03 sec)

mysql> INSERT INTO t1 VALUES(NULL);
Query OK, 1 row affected (0.04 sec)

mysql> SELECT * FROM t1;
+----+
| id |
+----+
|  1 |
|  2 |
|  3 |
+----+
 rows in set (0.00 sec)

mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                3 |
+------------------+
 row in set (0.00 sec)


上面的语句首先创建了一张表t1,其中有一个自增字段id

然后分三次插入NULL,使其自增

确认已经存在数据之后,使用LAST_INSERT_ID()获取最后自动生成的值

相关文章

  • 忘记MySQL的root密码该怎么办

    忘记MySQL的root密码该怎么办

    忘记密码总是一件令人头疼的事情,当我们忘记了MySQL的root密码该怎么办?本文给出解决方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 简单了解MySQL数据库优化技巧

    简单了解MySQL数据库优化技巧

    这篇文章主要介绍了简单了解MySQL数据库优化技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • MySQL数据库实验之 触发器和存储过程

    MySQL数据库实验之 触发器和存储过程

    这篇文章主要介绍了MySQL数据库实验之 触发器和存储过程,通过掌握某主流DBMS支持的SQL编程语言和编程规范,规范设计存储过程展开详细介绍,感兴趣的朋友可以参考一下
    2022-06-06
  • 实例详解mysql子查询

    实例详解mysql子查询

    这篇文章主要介绍了mysql子查询的相关资料,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-09-09
  • 详解MySQL如何交换两列值数据

    详解MySQL如何交换两列值数据

    最近遇到了需要将表里的两列值进行互换,原因是存库时值存放反了,在编码语言中,我们一般可以通过定义一个临时变量c,将b赋值给c,a赋值给b,c赋值给a就能实现a和b的值互换,那么,在mysql中,非储存过程的sql语句,没有定义变量的过程,如何实现呢,接下来由小编给大家介绍一下
    2024-01-01
  • mysql远程连接失败的解决方法

    mysql远程连接失败的解决方法

    在MySQL中,有时候我们需要远程连接到服务器来进行操作,但是有时候,我们会遇到无法使用远程连接链接到MySQL服务器的情况,本文就介绍了两种解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径

    Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径

    这篇文章主要介绍了Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径的相关资料,需要的朋友可以参考下
    2017-05-05
  • 详解在Windows环境下访问linux虚拟机中MySQL数据库

    详解在Windows环境下访问linux虚拟机中MySQL数据库

    这篇文章主要介绍了如何Windows环境下访问linux虚拟机中MySQL数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • MySQL单表查询实例详解

    MySQL单表查询实例详解

    这篇文章主要给大家介绍了关于MySQL单表查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 手把手教你使用Navicat生成MySQL测试数据

    手把手教你使用Navicat生成MySQL测试数据

    Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设,下面这篇文章主要给大家介绍了关于使用Navicat生成MySQL测试数据的相关资料,需要的朋友可以参考下
    2023-05-05

最新评论