Database
 sql >> Baza danych >  >> RDS >> Database

T-SQL a SQL

Oto krótki przegląd różnicy między SQL a T-SQL (Transact-SQL). Nie tyle różnice jako takie, ale bardziej wyjaśnienie T-SQL i jego umiejscowienia w stosunku do SQL.

Jeśli zajmowałeś się tworzeniem lub administrowaniem bazami danych, prawdopodobnie znasz SQL. SQL, co oznacza Structured Query Language, to standardowy język zapytań do pracy z bazami danych. Większość głównych systemów zarządzania relacyjnymi bazami danych, takich jak MySQL, Oracle, SQL Server, PostgreSQL itp., obsługuje SQL w taki czy inny sposób.

Jednak chociaż standard SQL zapewnia jasne specyfikacje, umożliwia również dostawcom baz danych dodawanie własnych rozszerzeń. Dzięki temu dostawcy mogą oferować swoim klientom dodatkowe funkcje i funkcje, które mogą nie być oferowane przez ich konkurentów.

Tutaj wkracza T-SQL.

Co to jest Transact-SQL?

Transact-SQL, często skracany do T-SQL lub nawet TSQL, jest zastrzeżonym rozszerzeniem SQL firmy Microsoft i Sybase. Transact-SQL rozszerza standard SQL o dodatkowe funkcje, które nie są zawarte w standardzie SQL.

Chociaż Transact-SQL (i SQL Server) jest powszechnie znany jako produkt Microsoftu, w rzeczywistości jest to wynik partnerstwa między Microsoft i Sybase, które rozpoczęło się w 1987 roku. Partnerstwo to zostało rozwiązane w 1994 roku. Po tym, T-SQL nadal był obsługiwane przez produkty bazodanowe wydane przez obie firmy, jednak każda firma rozwijała swoje produkty bazodanowe we własnym kierunku. Dlatego istnieją pewne różnice między Sybase T-SQL i Microsoft T-SQL.

Transact-SQL ma kluczowe znaczenie dla SQL Server. Większość operacji w SQL Server jest wykonywana przy użyciu T-SQL. Dzieje się tak, nawet jeśli używasz narzędzia GUI (takiego jak SSMS lub DBeaver) i nie robisz żadnego programowania. Za każdym razem, gdy używasz aplikacji do interakcji z SQL Server, aplikacja używa T-SQL w tle do wykonania określonego zadania.

Ale SQL Server nie jest jedynym systemem zarządzania bazami danych, który obsługuje Transact-SQL. Baza danych Microsoft Azure SQL obsługuje również T-SQL. Większość funkcji T-SQL używanych przez aplikacje jest w pełni obsługiwana zarówno w Microsoft SQL Server, jak i Azure SQL Database (chociaż istnieją pewne wyjątki).

Funkcje T-SQL

Niektóre funkcje T-SQL obejmują:

  • Programowanie proceduralne
  • Zmienne lokalne
  • Różne funkcje pomocnicze do przetwarzania ciągów, przetwarzania dat, matematyki itp.
  • Zmiany w DELETE i UPDATE sprawozdania. W szczególności pozwalają na dodanie klauzuli FROM, która umożliwia dołączanie złączeń.
  • T-SQL ma BULK INSERT instrukcja, która pozwala zaimportować plik danych do tabeli bazy danych lub wyświetlić w formacie określonym przez użytkownika.

Jedną z głównych zalet powyższych rozszerzeń jest znacznie większa programowalność podczas korzystania z T-SQL w porównaniu z SQL. Procedury składowane umożliwiają na przykład włączenie logiki programowania do bazy danych. Możesz przekazać jeden lub więcej parametrów do procedury składowanej, a procedura składowana zwróci dane wyjściowe, które różnią się w zależności od wartości parametrów.

Informacje o poleceniu GO

Każdy, kto używał T-SQL, prawdopodobnie zna GO Komenda. To słowo kluczowe jest często umieszczane na końcu serii wyciągów.

Jednak GO polecenie nie jest w rzeczywistości częścią Transact-SQL. W rzeczywistości GO polecenie nie może nawet zajmować tego samego wiersza co instrukcja Transact-SQL.

GO to jedno z poleceń rozpoznawanych przez sqlcmd i osql narzędzia, a także edytor kodu SQL Server Management Studio, który ułatwia czytelność i wykonywanie wsadów i skryptów. GO polecenie sygnalizuje koniec partii instrukcji Transact-SQL do narzędzi SQL Server.

Narzędzia SQL Server interpretują GO jako sygnał, że powinni wysłać bieżącą partię instrukcji Transact-SQL do wystąpienia programu SQL Server. Bieżąca partia wyciągów składa się ze wszystkich wyciągów wprowadzonych od ostatniego GO , lub od początku sesji ad hoc lub skryptu, jeśli jest to pierwszy GO .

Inne zastrzeżone rozszerzenia SQL

Transact-SQL nie jest jedynym rozszerzeniem standardu SQL. Różne systemy baz danych mają swoje własne rozszerzenia. Na przykład Oracle używa zastrzeżonego języka proceduralnego o nazwie PL/SQL, a PostgreSQL używa języka proceduralnego o nazwie PL/pgSQL.

Chociaż zastrzeżone rozszerzenia SQL mają swoje zalety (takie jak rozszerzona funkcjonalność), mają też swoje wady. Jedną z głównych wad jest to, że mogą utrudnić sprawę, jeśli kiedykolwiek będziesz musiał przenieść bazę danych z jednego systemu do drugiego. Na przykład, jeśli Twoja organizacja nagle zdecyduje, że będzie używać Oracle zamiast SQL Server, może być konieczne przejrzenie całego kodu SQL Server i przepisanie go dla Oracle. Wymaga to również zaznajomienia się ze składnią obu systemów.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie JShell w Javie 9 w NetBeans 9.0, część 3

  2. Podstawy wyrażeń tabelarycznych, Część 3 – Tablice pochodne, względy optymalizacyjne

  3. Różnica między kluczem podstawowym a kluczem unikalnym

  4. SQL SELECT AND Operator

  5. DNA kontra nowoczesne metody tworzenia kopii zapasowych:przyszłość przechowywania danych