Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jeśli warunkowe w SQL Script dla Mysql

Po prostu opakowuję mój skrypt SQL w procedurę, w której dozwolony jest kod warunkowy. Jeśli wolisz nie zostawiać rozrzuconych oświadczeń, możesz zrezygnować z procedury, gdy skończysz. Oto przykład:

delimiter //

create procedure insert_games() 

begin

    set @platform_id := (select id from platform where name = 'Nintendo DS');

    -- Only insert rows if the platform was found
    if @platform_id is not null then 

        insert into game(name, platform_id) values('New Super Mario Bros', @platform_id);
        insert into game(name, platform_id) values('Mario Kart DS', @platform_id);

    end if;

end;

//

delimiter ;

-- Execute the procedure
call insert_games();

-- Drop the procedure
drop procedure insert_games;

Jeśli nie korzystałeś z procedur, słowo kluczowe „delimiter” może wymagać wyjaśnienia. Pierwsza linia zmienia ogranicznik na "//", dzięki czemu możemy dołączyć średniki do naszej definicji procedury bez próby ich interpretacji przez MySQL. Po utworzeniu procedury przełączamy ogranicznik z powrotem na „;” dzięki czemu możemy wykonywać instrukcje jak zwykle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql pogrupuj według dwóch kolumn i wybierz maksymalną wartość z trzeciej kolumny

  2. Pobierz wiersz z najwyższą lub najniższą wartością z GROUP BY

  3. Jak wybrać dane z dwóch tabel za pomocą jednego zapytania

  4. Czy dobrze jest użyć htmlspecialchars() przed wstawieniem do MySQL?

  5. Zamów pozycje w MySQL według ustalonej listy?