Fonction d'informations système
(1) Fonction pour obtenir le numéro de version MySQL, le nombre de connexions et le nom de la base de données
(2) Fonction pour obtenir le nom d'utilisateur
(3) Fonction pour obtenir le jeu de caractères et la méthode de tri d'une chaîne
(4) Fonction pour obtenir la dernière valeur d'ID générée automatiquement
(Recommandations d'apprentissage gratuites associées : vidéo mysql tutoriel)
1.version()
[Exemple] Affichez le numéro de version actuel de MySQL, l'instruction SQL est la suivante :
mysql> select version();+-----------+| version() |+-----------+| 8.0.16 |+-----------+1 row in set (0.05 sec)
2.connection_id()
[Exemple] Pour afficher le nombre de connexions de l'utilisateur actuel, l'instruction SQL est la suivante :
mysql> select connection_id();+-----------------+| connection_id() |+-----------------+| 18 |+-----------------+1 row in set (0.05 sec)
3.show processlist et show full processlist
[Exemple] Utilisez la commande showprocesslist pour afficher les informations de connexion de l'utilisateur actuel. L'instruction SQL est la suivante :
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)
La signification de chaque colonne :
列 | 含义 |
---|---|
id列 | 用户登录MySQL时,系统分配的"connection id" |
User | 显示当前用户,如果不是root,就显示用户权限范围内的MySQL语句 |
Host | 显示这个语句是从哪个IP的哪个端口上发出的,可以用来追踪出现问题语句的用户 |
db | 显示这个进程目前连接的是哪个数据库 |
Command | 显示当前连接的执行命令,一般取值为休眠(sleep)、查询(Query)、连接(Connect) |
Time | 显示这个状态持续的时间,单位是秒 |
State | 显示使用当前连接的SQL语句的状态,State只是语句执行中的某一个状态 |
Info | 显示这个SQL语句,是判断问题语句的一个重要语句 |
4.database () et schema()
[Exemple] Pour afficher la base de données actuellement utilisée, l'instruction SQL est la suivante :
mysql> select database(),schema();+------------+----------+| database() | schema() |+------------+----------+| company | company |+------------+----------+1 row in set (0.00 sec)
[Exemple] Pour obtenir le nom de l'utilisateur actuellement connecté, l'instruction SQL est la suivante :
mysql> select user(),current_user,system_user();+----------------+----------------+----------------+| user() | current_user | system_user() |+----------------+----------------+----------------+| root@localhost | root@localhost | root@localhost |+----------------+----------------+----------------+1 row in set (0.05 sec)
1.charset(str)
[Exemple] Utiliser charset La fonction () renvoie le jeu de caractères utilisé par la chaîne. L'instruction SQL est la suivante :
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)
2.collation(str)
[Exemple] Utilisez la fonction collation() pour renvoyer. l'arrangement des chaînes. L'instruction SQL est la suivante :
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)
[Exemple] Utilisez select last_insetr_id pour afficher la dernière valeur de colonne générée automatiquement. Le processus d'exécution est le suivant :
①Insérer un enregistrement à la fois
Créez d'abord un travailleur de table avec une contrainte auto_increment sur son champ id. >
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)
Vous pouvez voir que lors de l'insertion d'un enregistrement à la fois, la valeur de retour est la valeur d'identification du dernier enregistrement inséré.
②Insérer plusieurs enregistrements à la fois Insérer plusieurs enregistrements dans la table :
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)
mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+| 3 |+------------------+1 row in set (0.00 sec)
renvoie uniquement la valeur générée lorsque la première ligne de données est insérée, ici le troisième enregistrement est inséré. La raison en est qu'il est plus facile de s'appuyer sur d'autres serveurs pour répliquer la même instruction d'insertion. last_insert_id()
last_insert_id
renvoie la valeur de l'identifiant dans la table b. . last_insert_id
Recommandations d'apprentissage gratuites associées :base de données mysql(vidéo)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!