Maison  >  Article  >  base de données  >  MySQL Exercice 3 : Utilisation des fonctions MySQL

MySQL Exercice 3 : Utilisation des fonctions MySQL

coldplay.xixi
coldplay.xixiavant
2021-03-10 09:28:192789parcourir

MySQL Exercice 3 : Utilisation des fonctions MySQL

Cas : Utiliser diverses fonctions pour manipuler des données et maîtriser les fonctions et l'utilisation de diverses fonctions.
(1) Utilisez la fonction mathématique rand() pour générer 3 entiers aléatoires sur 10.
(2) Utilisez les fonctions sin(), con(), tan(), cot() pour calculer les valeurs des fonctions trigonométriques et convertissez les résultats du calcul en valeurs entières.
(3) Créez une table et utilisez les fonctions de chaîne et de date pour opérer sur les valeurs de champ.
(4) Cas d'utilisation pour le jugement conditionnel. Si m_birth est inférieur à 2000, il affichera « vieux » ; si m_birth est supérieur à 2000, il affichera « jeune ».


(Recommandation d'apprentissage gratuite : tutoriel vidéo mysql)

(1 ), utilisez la fonction mathématique rand() pour générer trois entiers aléatoires inférieurs à 10.
mysql> select round( rand() * 10 ),round( rand() * 10 ), round( rand() * 10 );+----------------------+----------------------+----------------------+| round( rand() * 10 ) | round( rand() * 10 ) | round( rand() * 10 ) |+----------------------+----------------------+----------------------+|                    9 |                    8 |                    1 |+----------------------+----------------------+----------------------+1 row in set (0.00 sec)
(2). Utilisez les fonctions sin(), con(), tan(), cot() pour calculer les valeurs des fonctions trigonométriques et convertissez les résultats du calcul en valeurs entières.
mysql> select pi(),
    -> sin(pi()/2),
    -> cos(pi()),
    -> round(tan(pi()/4)),
    -> floor(cot(pi()/4));+----------+-------------+-----------+--------------------+--------------------+| pi()     | sin(pi()/2) | cos(pi()) | round(tan(pi()/4)) | floor(cot(pi()/4)) |+----------+-------------+-----------+--------------------+--------------------+| 3.141593 |           1 |        -1 |                  1 |                  1 |+----------+-------------+-----------+--------------------+--------------------+1 row in set (0.00 sec)
(3), créez une table et utilisez les fonctions de chaîne et de date pour opérer sur les valeurs de champ.

① Créer un membre de table, qui contient 5 champs, à savoir le champ m_id de contrainte auto_increment, le champ m_FN de type varchar, le champ m_LN de type varchar, le champ m_birth de type datetime et le champ m_info de type varchar .

mysql> create table member    -> (
    -> m_id int auto_increment primary key,
    -> m_FN varchar(100),
    -> m_LN varchar(100),
    -> m_birth datetime,
    -> m_info varchar(255) null
    -> );Query OK, 0 rows affected (0.21 sec)

②Insérez un enregistrement, la valeur m_id est par défaut, la valeur m_FN est "Halen", la valeur m_LN est "Park", la valeur m_birth est 1970-06-29 et la valeur m-info est "Bon homme".

mysql> insert into member values
    -> ( null,'Halen','Park','1970-06-29','GoodMan');Query OK, 1 row affected (0.01 sec)mysql> select * from member;+------+-------+------+---------------------+---------+| m_id | m_FN  | m_LN | m_birth             | m_info  |+------+-------+------+---------------------+---------+|    1 | Halen | Park | 1970-06-29 00:00:00 | GoodMan |+------+-------+------+---------------------+---------+1 row in set (0.00 sec)

③Renvoyer la longueur de m_FN, renvoyer le nom complet de la personne dans le premier enregistrement et convertir la valeur du champ m_info en lettres minuscules. Affichez la valeur de m_info en sens inverse.

mysql> select length(m_FN),concat(m_FN,m_LN),
    -> lower(m_info),reverse(m_info) from member;+--------------+-------------------+---------------+-----------------+| length(m_FN) | concat(m_FN,m_LN) | lower(m_info) | reverse(m_info) |+--------------+-------------------+---------------+-----------------+|            5 | HalenPark         | goodman       | naMdooG         |+--------------+-------------------+---------------+-----------------+1 row in set (0.00 sec)

④ Calculez l'âge de la personne dans le premier enregistrement, calculez la position de la valeur dans le champ m_birth cette année-là, et affichez la valeur temporelle au format "Samedi 4 octobre 1997".

mysql> select year(curdate())-year(m_birth) as age,dayofyear(m_birth) as days,
    -> date_format(m_birth,'%W %D %M %Y') as birthDate from member;+------+------+-----------------------+| age  | days | birthDate             |+------+------+-----------------------+|   49 |  180 | Monday 29th June 1970 |+------+------+-----------------------+1 row in set (0.00 sec)

⑤ Insérez un nouvel enregistrement, la valeur m_FN est "Samuel", la valeur m_LN est "Greem", la valeur m_birth est l'heure actuelle du système et m_info est vide. Utilisez last_insert_id pour afficher la dernière valeur d'identifiant insérée.

mysql> insert into member values( null,'Samuel','Green',now(),null);Query OK, 1 row affected (0.04 sec)mysql> select * from member;+------+--------+-------+---------------------+---------+| m_id | m_FN   | m_LN  | m_birth             | m_info  |+------+--------+-------+---------------------+---------+|    1 | Halen  | Park  | 1970-06-29 00:00:00 | GoodMan ||    2 | Samuel | Green | 2019-08-20 12:43:23 | NULL    |+------+--------+-------+---------------------+---------+3 rows in set (0.00 sec)

Vous pouvez voir qu'il y a deux enregistrements dans la table. Ensuite, utilisez la fonction last_insert_id() pour afficher la dernière valeur d'identifiant insérée. L'instruction SQL est la suivante :

mysql> select last_insert_id();+------------------+| last_insert_id() |+------------------+|                3 |+------------------+1 row in set (0.00 sec)
( 4), cas d'utilisation des conditions Jugez, si m_birth est inférieur à 2000, il affichera "old" si m_birth est supérieur à 2000, il affichera "young".
mysql> select m_birth,case when year(m_birth)<2000 then &#39;old&#39;
    -> when year(m_birth)>2000 then 'young'
    -> else 'not born' end as status from member;+---------------------+--------+| m_birth             | status |+---------------------+--------+| 1970-06-29 00:00:00 | old    || 2019-08-20 12:43:23 | young  |+---------------------+--------+3 rows in set (0.00 sec)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer