Instruccions MySQL If-Then

Mysql If Then Statements



La declaració ‘IF’ s’utilitza sovint en programes conservats de MySQL que apliquen la construcció condicional simple. La sentència IF-THEN permet realitzar una sèrie d’instruccions SQL basades en una condició especificada. Produeix True, False o NULL com un dels tres valors. Al llarg d’aquesta guia, entendreem com processar una ordre SQL relativa a una condició determinada mitjançant l’instrucció MySQL IF-then.

Sintaxi:

>>IF condició THEN sentències FINALMENT IF;

En la sintaxi següent:







  • Si' s la clàusula de paraula clau per iniciar la condició.
  • Condició : Després de la clàusula 'IF', és la restricció a complir.
  • Declaracions : Pot ser qualsevol tros de codi, per exemple, seleccionar, recuperar, actualitzar o suprimir. Si s’avalua una condició com a TRUE, s’executaran les sentències posteriors a la clàusula 'THEN'.
  • ENDIF: És el final de la clàusula 'SI'. Després, la potència es trasllada a la clàusula següent.

Comencem a entendre If-then llançant el shell d’ordres MySQL. En escriure la contrasenya, ja estem a punt.





Exemple 01: Funció MySQL IF ():

Per obtenir coneixement sobre la sentència If, primer hem de provar la funció IF (). A l'exemple següent, hem definit la funció IF () a la consulta SELECT i li donem una condició per comprovar si 2 és superior a 9 o no. Si la condició és vàlida, retornarà el primer valor després de la condició; en cas contrari, segon. Com que la nostra condició no és vàlida, és per això que torna 'falsa'.





Suposem un 'ordre' de la taula tal com es mostra a la imatge adjunta.



>>SELECCIONA*FROM data.order;

Vegem la funció IF () realitzada en aquesta taula. Hem estat seleccionant les tres columnes. Si la columna 'Estat' té el valor 'Pagat', el mètode IF () retornarà 'Excel·lent' en cas contrari 'Mala'. El valor retornat de la funció IF () es desarà a la columna 'Observacions' recentment creada en temps d'execució. Ara podem veure la sortida tal com s’afegeix a continuació.

Exemple 02: Declaració MySQL IF-THEN

Hem provat una funció IF () a la línia d'ordres MySQL. Provem un nou exemple de la sentència IF-Then en una interfície gràfica d’usuari de MySQL mentre fem servir els procediments. Obriu MySQL Workbench 8.0 i connecteu-vos primer a la base de dades.

Hem estat treballant en les ‘dades’ de la base de dades; després, heu d’indicar l’ordre ‘use data’ per utilitzar-la a Workbench. Premeu la icona de flaix per executar-la. Heu de saber que les instruccions If-then funcionen amb procediments de botiga, tal com es mostra a continuació. Hem declarat un delimitador de paraules clau per iniciar el procediment de botiga. El procediment 'myResult' ha estat adoptant dos arguments. Després de la sentència BEGIN, tenim una sentència IF que comprova la condició. Si la condició es compleix, s’executarà l’ordre ‘THEN’ i la seva sentència següent. Si la condició esdevé falsa, s’implementaran les afirmacions posteriors a ‘FINALITAR SI’.

Com que el procediment 'myResult' ha estat adoptant dos arguments, hem de passar-hi dos valors.

Després de passar valors al procediment de magatzem, hem de trucar al procediment per veure els resultats de la sentència If-then.

I el resultat es dóna a continuació. Ha calculat la taxa de descompte mitjançant la declaració If-then.

Si voleu tornar a fer servir el mateix procediment emmagatzemat, primer heu de deixar anar aquest procediment mitjançant l'ordre DROP que hi ha a continuació i executar-lo de nou.

Exemple 03: Declaració MySQL IF-THEN-ELSE

Anem a un nivell ampli. Aquesta vegada veurem la sentència IF-Then-Else mitjançant el procediment emmagatzemat del nostre exemple. Mireu la taula següent, 'estudiant', amb alguns camps.

>>SELECCIONA*FROM data.student;

Primer de tot, heu d’utilitzar la base de dades ‘dades’ per utilitzar la taula ‘estudiant’ al nostre procediment de botiga. Per a això, escriviu l'ordre següent al vostre terminal de línia d'ordres MySQL.

>>utilitzar dades;

Ara declareu un delimitador i, a continuació, comenceu a escriure el procediment de botiga. L’ordre ‘CREAR’ s’utilitzarà per declarar o crear un procediment com sempre. Els 'detalls' del procediment han estat adoptant dos arguments. Després, el procediment de botiga comença amb la paraula clau 'BEGIN'. La paraula 'DECLARA' s'ha utilitzat per definir una variable 'Sub' per a assignatures. La consulta 'SELECCIONA' s'ha utilitzat per seleccionar els valors de la columna 'Assumpte' de la taula 'estudiant' i desar-la a la variable 'Sub' recentment declarada. El valor proporcionat per l'usuari 'S_Subject' es compararà amb el valor de la columna 'Assumpte'. A la sentència 'IF', si el valor proporcionat per l'usuari 'S_Subject' coincideix amb el valor de la columna 'Subjecte', s'executarà la sentència relativa 'THEN' juntament amb les seves sentències dins. Aquest procediment es processarà des de la primera declaració 'IF' fins a la segona i després la tercera declaració 'ELSEIF'. Si la darrera part 'ELSEIF' no coincideix amb el valor proporcionat per un usuari, es donarà el control a la instrucció 'FINALITZA IF'.

Finalitzem el delimitador amb l’ordre següent.

Hem de trucar al procediment de botiga executant-lo amb una consulta 'CALL' i proporcionant arguments entre parèntesi. Com hem donat el valor de 'Matemàtiques', es generarà una nova columna per generar les instruccions 'THEN' i 'SET'.

Comproveu la columna recentment creada 'S_Cource' mitjançant l'ordre següent. Podeu veure que tenim un resultat rellevant segons el curs 'Matemàtiques'.

Torneu a trucar al procediment mitjançant un canvi al primer argument, és a dir, subjecte. Aquesta vegada hem proporcionat l'assignatura 'Ordinador'.

Mentre seleccioneu el valor de la columna 'S_Cource', podeu veure que tenim un valor relatiu a l'assumpte 'Ordinador', que és 'TI'.

Una vegada més, hem estat convocant el procediment com es mostra a continuació mitjançant una modificació en el primer argument. Aquesta vegada hem impartit l'assignatura 'Història'.

Si torneu a trucar a la columna 'S_Cource', podeu veure com obtenim un resultat 'Mestres en història' pel que fa al tema recentment proporcionat, per exemple, Història.

Conclusió:

Hem fet tots els exemples necessaris per a l'elaboració de sentències If-then, per exemple, funció IF (), sentència If-then simple, sentència If-then-else.