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()获取最后自动生成的值