欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-18 14:32:40
系统信息函数用来查询mysql数据库的系统信息version()返回数据库版本号复制代码 代码如下:mysql> select version();+--------...

系统信息函数用来查询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()获取最后自动生成的值