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

Jak wstawić wiele wierszy w jednym zapytaniu SQL — pytanie do wywiadu tygodnia #069

Na świecie istnieje tak wiele różnych baz danych, a wiele z nich używa do programowania języka SQL. Bardzo łatwo jest założyć, że jeśli używają SQL, możemy bez problemu użyć kodu z jednej bazy danych do innej. Niestety rzeczywistość jest zupełnie inna, nie wszystkie skrypty z jednej bazy danych działają w innej. Dzisiaj zobaczymy bardzo ciekawe pytanie, w którym użytkownik zadał pytanie dotyczące wstawiania wielu wierszy w jednym zapytaniu SQL.

Pytanie: Napisz kod SQL, który wstawi wiele wierszy w jednym zapytaniu SQL. Warunkiem dla tego skryptu było to, że powinien działać w SQL Server, MySQL i PostgreSQL bez zmiany kodu w jednej linii.

Odpowiedź: Napisanie kodu, który wstawia wiele wierszy w jednym zapytaniu SQL, nie jest trudnym zadaniem, ale rzeczywiście wyzwaniem jest stworzenie skryptu, który będzie działał z wieloma bazami danych. Jednak możliwe jest stworzenie skryptu, który będzie działał w wielu bazach danych.

Najpierw utwórzmy przykładową tabelę z dwiema kolumnami. Po utworzeniu tabeli wstaw trzy różne wiersze w jednym zapytaniu SQL.

CREATE TABLE SampleTable (ID INT, Col1 VARCHAR(100));
INSERT INTO SampleTable (ID, Col1)
VALUES (1, 'One'), (2, 'Two'), (3, 'Three');
SELECT *
FROM SampleTable;
DROP TABLE SampleTable;

Teraz uruchommy to zapytanie w wielu bazach danych i zobaczmy wynik.

Serwer SQL

MySQL

PostgreSQL

To wszystko. To było rzeczywiście bardzo interesujące pytanie. Abyś wiedział, alternatywnie możesz również zbudować skrypt SQL za pomocą UNION. Jednak rozwiązanie, które zademonstrowano w tym zapytaniu, jest nową drogą.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odniesienie:Czym jest doskonały przykładowy kod przy użyciu rozszerzenia MySQL?

  2. Jak uzyskać rozmiar tabeli MySQL dla tabel w bazie danych?

  3. Jak pozyskiwać nowych użytkowników dziennie w MySQL?

  4. Sterownik MySQL JDBC 5.1.33 — problem ze strefą czasową

  5. Różnica między FIELD() i FIND_IN_SET() w MySQL