Systeminformationsfunktion
(1) Funktion zum Abrufen der MySQL-Versionsnummer, Verbindungsnummer und Datenbanknamen
(2) Funktion zum Abrufen des Benutzernamens
(3) Funktion zum Abrufen des Zeichensatzes und der Sortiermethode des string
( 4) Funktion zum Abrufen des letzten automatisch generierten ID-Werts
(Verwandte kostenlose Lernempfehlungen: MySQL-Video-Tutorial )
1.version( )
【Beispiel】Um die aktuelle MySQL-Versionsnummer anzuzeigen, lautet die SQL-Anweisung wie folgt:
mysql> select version();+-----------+| version() |+-----------+| 8.0.16 |+-----------+1 row in set (0.05 sec)
2.connection_id()
【Beispiel】Um die Anzahl der Verbindungen des aktuellen Benutzers anzuzeigen, lautet die SQL-Anweisung wie folgt:
mysql> select connection_id();+-----------------+| connection_id() |+-----------------+| 18 |+-----------------+1 row in set (0.05 sec)
3.show Processlist und Show Full Processlist
[Beispiel] Verwenden Sie den Befehl showprocesslist, um die Verbindungsinformationen des aktuellen Benutzers auszugeben. Die SQL-Anweisung lautet wie folgt:
mysql> show processlist;+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+| 4 | event_scheduler | localhost | NULL | Daemon | 381487 | Waiting on empty queue | NULL || 18 | root | localhost:60272 | company | Query | 0 | starting | show processlist |+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+2 rows in set (0.05 sec)
Die Bedeutung jeder Spalte:
column | meaning |
---|---|
id-Spalte | Benutzeranmeldung bei MySQL Wenn das System die „Verbindungs-ID“ |
Benutzer | zuweist, zeigt es den aktuellen Benutzer an. Wenn es sich nicht um einen Root-Benutzer handelt, wird die MySQL-Anweisung innerhalb der Berechtigungen des Benutzers angezeigt , es kann verwendet werden, um den Benutzer zu verfolgen, der die problematische Anweisung ausgegeben hat sleep (sleep) ), Query, Connect |
Time | Zeigt die Dauer dieses Zustands in Sekunden an |
State | zeigt den Status der SQL-Anweisung an, die die aktuelle Verbindung verwendet. State ist nur die Anweisung, die ausgeführt wird . Ein bestimmter Status von |
Info | zeigt diese SQL-Anweisung an, die eine wichtige Anweisung zur Beurteilung der Problemanweisung ist |
4.database() und schema() | [Beispiel] Zeigen Sie die aktuell verwendete Datenbank an , SQL-Anweisung Wie folgt: |
user(), current_user(), system_user() und session_user() Diese Funktionen geben die aktuell überprüfte Kombination aus Benutzername und Hostname zurück durch den MySQL-Server. Dieser Wert entspricht dem MySQL-Konto, das die Zugriffsrechte des aktuell angemeldeten Benutzers bestimmt. | |
Der zurückgegebene Ergebniswert zeigt den Benutzernamen, wenn das aktuelle Konto eine Verbindung zum Server herstellt und der verbundene Client-Host ist der aktuell angemeldete Benutzername und localhost ist der Login-Hostname. |
1.charset(str)
mysql> select charset('abc'), -> charset(convert('abc' USING latin1 ) ), -> charset(version());+----------------+----------------------------------------+--------------------+| charset('abc') | charset(convert('abc' USING latin1 ) ) | charset(version()) |+----------------+----------------------------------------+--------------------+| gbk | latin1 | utf8 |+----------------+----------------------------------------+--------------------+1 row in set (0.00 sec)
collation(str)
mysql> select collation('abc'),collation(convert('abc' USING utf8 ));+------------------+---------------------------------------+| collation('abc') | collation(convert('abc' USING utf8 )) |+------------------+---------------------------------------+| gbk_chinese_ci | utf8_general_ci |+------------------+---------------------------------------+1 row in set, 1 warning (0.05 sec)
mysql> create table worker -> ( -> id int auto_increment not null primary key, -> Name varchar(30) -> );Query OK, 0 rows affected (0.21 sec)
mysql> insert into worker values(null,'jimy');Query OK, 1 row affected (0.07 sec)mysql> insert into worker values(null,'Tom');Query OK, 1 row affected (0.05 sec)mysql> select * from worker;+----+------+| id | Name |+----+------+| 1 | jimy || 2 | Tom |+----+------+2 rows in set (0.00 sec)
mysql> select last_insert_id();+------------------+| last_insert_id() |+------------------+| 2 |+------------------+1 row in set (0.05 sec)
charset(str)
【例】使用charset()函数返回字符串使用的字符集,SQL语句如下:
mysql> insert into worker values -> (null,'Kevin'), -> (null,'Michal'), -> (null,'NICK');Query OK, 3 rows affected (0.05 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> SELECT * FROM WORKER;+----+--------+| id | Name |+----+--------+| 1 | jimy || 2 | Tom || 3 | Kevin || 4 | Michal || 5 | NICK |+----+--------+5 rows in set (0.00 sec)
2.collation(str)
【例】使用collation()函数返回字符串排列方式,SQL语句如下:
mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+| 3 |+------------------+1 row in set (0.00 sec)
【例】使用select last_insetr_id查看最后一个自动生成的列值,执行过程如下:
①一次插入一条记录
首先创建表worker,其id字段带有auto_increment约束,SQL语句如下:
分别单独向表worker中插入两条记录:
rrreee查看已经插入的数据,发现最后一条插入的记录的id字段值为2,使用last_insert_id()查看最后自动生成的id值:
rrreee可以看到,一次插入一条记录时,返回值为最后一条插入记录的id值。
②一次同时插入多条记录
向表中插入多条记录:
使用last_insert_id查看最后自动生成的id值:
rrreee使用一条insert语句插入多个行时,last_insert_id()
只返回插入的第一行数据时产生的值,在这里为插入第3条记录。之所以这样是因为这使依靠其他服务器复制同样的insert语句变得简单。
提示:
last_insert_id
是与table无关的,先向表a插入数据,再向表b插入数据,last_insert_id
Sie können sehen, dass beim Einfügen jeweils eines Datensatzes der Rückgabewert ist ID-Wert des zuletzt eingefügten Datensatzes. last_insert_id()
gibt nur den Wert zurück, der beim Einfügen der ersten Datenzeile generiert wird, hier wird der dritte Datensatz eingefügt. Der Grund hierfür liegt darin, dass es einfacher ist, sich auf andere Server zu verlassen, um dieselbe Einfügeanweisung zu replizieren.
🎜Verwandte kostenlose Lernempfehlungen: 🎜MySQL-Datenbank🎜(Video)🎜🎜
Das obige ist der detaillierte Inhalt vonMySQL führt eine Systeminformationsfunktion ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!