Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Blandningen av T-SQL och Python i moderna dataarbetsflöden erbjuder ett kraftfullt och flexibelt tillvägagångssätt som blandar styrkan i båda språken. SQL är fortfarande det mest effektiva och läsbara sättet att fråga, filtrera och koppla strukturerade data, medan Python utmärker sig för datatransformering, statistisk analys, maskininlärning och visualisering. Genom att kombinera T-SQL och Python kan datatekniker använda det bästa av två världar, vilket gör att de kan skapa robusta datapipelines som är effektiva, underhållsbara och kan hantera komplexa databearbetningsuppgifter.
I Microsoft Fabric Python-notebook-filer introducerade vi en ny funktion med namnet T-SQL Magic Command. Med den här funktionen kan du köra T-SQL-kod direkt i Python-notebook-filer med fullständig syntaxmarkering och kodkomplettering. Det innebär att du kan skriva T-SQL-kod i en Python-notebook-fil och att den körs som om den vore en T-SQL-cell. Den här funktionen är användbar för datatekniker som vill använda kraften i T-SQL medan de fortfarande använder flexibiliteten i Python-notebook-filer.
I den här artikeln utforskar vi det magiska T-SQL-kommandot i Microsoft Fabric-notebook-filer. Vi går igenom hur du aktiverar det här kommandot, anger vilket lager som ska användas och hur du binder resultatet av T-SQL-frågor till Python-variabler.
Den här funktionen är tillgänglig för Fabric Python-notebook-filer. Du måste ange språket som Python i anteckningsboken.
Viktigt!
Den här funktionen är i förhandsversion.
Använda ett magiskt T-SQL-kommando för att fråga Fabric-informationslagret
Om du vill aktivera det magiska T-SQL-kommandot i din Fabric-notebook-fil måste du ange det %%tsql
magiska kommandot i början av cellen. Det här kommandot anger att koden i cellen ska behandlas som T-SQL-kod.
I det här exemplet använder vi T-SQL magic-commandot för att köra frågor mot ett Fabric Data Warehouse. Kommandot tar följande parametrar:
- Parametern
-artifact
anger namnet på informationslagret som ska användas. T-SQL-koden i cellen körs mot det angivna informationslagret. - Parametern
-type
anger artefaktens typ, som i det här fallet är ett informationslager. - Parametern
-bind
anger namnet på variabeln som T-SQL-frågans resultat ska bindas till. I följande exempel lagras resultatet av frågan i en Python-variabel med namnetdf1
. Om du behöver tillämpa en transformering på df1-variabeln kan du göra det med hjälp av Python-kod i nästa cell. Parametern-bind
är valfri, men vi rekommenderar att du binder resultatet av T-SQL-frågan till en Python-variabel. Med den här parametern kan du enkelt manipulera och analysera resultaten med hjälp av Python-kod. - Parametern
-workspace
är valfri och används om lagret finns på en annan arbetsyta. Utan denna parameter använder notebooken den aktuella arbetsytan.
%%tsql -artifact dw1 -type Warehouse -bind df1
SELECT TOP (10) [GeographyID],
[ZipCodeBKey],
[County],
[City],
[State],
[Country],
[ZipCode]
FROM [dw1].[dbo].[Geography]
Om både parametrarna -artifact
och -type
hoppar över använder notebooken standardinformationslagret i den aktuella notebooken.
Använda T-SQL-magikommandot för att anropa SQL-databasen
Du kan också använda det magiska T-SQL-kommandot för att köra frågor mot en FABRIC SQL Database. Syntaxen liknar att köra frågor mot ett informationslager, men artefaktparametern måste vara inställd på SQLDatabase
. Parametern -bind
anger namnet på variabeln som T-SQL-frågans resultat ska bindas till. I följande exempel lagras resultatet av frågan i en Python-variabel med namnet df2
.
%%tsql -artifact sqldb1 -type SQLDatabase -bind df2
SELECT TOP (10) [AddressID]
,[AddressLine1]
,[AddressLine2]
,[City]
,[StateProvince]
,[CountryRegion]
,[PostalCode]
,[rowguid]
,[ModifiedDate]
FROM [SalesLT].[Address]
Använda T-SQL-magi-kommando för att köra förfrågningar mot lakehouse SQL-slutpunkt
Du kan också använda T-SQL-magi-kommandot för att köra frågor mot en Fabric SQL-slutpunkt. Syntaxen liknar att köra frågor mot ett informationslager, men artefaktparametern måste vara inställd på Lakehouse
.
Använda T-SQL-magiskt kommando som linjemagi
Förutom att köra T-SQL i en fullständig kodcell med %%tsql
kan du också köra T-SQL på en enda rad med %tsql
som linjemagi. Med följande radkommando kan du köra snabbfrågor utan att behöva skapa en fullständig kodcell.
df = %tsql select top(10) * from [dw1].[dbo].[Geography]
Referera till Python-variabler i T-SQL
Du kan också referera till Python-variabler i T-SQL-kod. Om du vill göra det använder du symbolen {}
följt av namnet på Python-variabeln. Om du till exempel har en Python-variabel med namnet count
kan du referera till den enligt följande i din T-SQL-kod:
count = 10
df = %tsql select top({count}) * from [dw1].[dbo].[Geography]
Om du vill se den fullständiga syntaxen använder du %tsql?
kommandot . Det här kommandot visar hjälpinformationen för det magiska T-SQL-kommandot, inklusive tillgängliga parametrar och deras beskrivningar.
Anmärkning
Du kan köra fullständiga DML- och DDL-kommandon mot informationslagret eller SQL-databasen, men endast skrivskyddade frågor mot lakehouse SQL-slutpunkten.
Relaterat innehåll
Mer information om Fabric-notebook-filer finns i följande artiklar.
- Frågor? Försök att fråga Fabric Community.
- Förslag? Bidra med idéer för att förbättra Fabric.