Archiív rubriky: SQL tutorial

Sekce SQL tutorial

T-SQL je jazyk, který se používá k manipulaci s databází na platformě MS SQL Server. V této sekci, která je takovým archivem tutoriálů naleznete řadu článků na tématiku TSQL. Pokud se chcete SQL naučit nebo si chcete jen připomenout jak nějaká SQL funkce funguje, koukněte na příslušný SQL tutorial. Snažím se o to, aby každý článek obsahoval i příklad použítí a ukázku kódu.

SQL Synonym – alternativní název objektu v databázi

SQL Synonym je příkaz, který je v SQL Server již od verze SQL Server 2005. Tato funkce slouží k tomu, že můžeme vytvořit referenci (alternativní jméno) na objekt v jeho kompletní cestě – four part name, tedy [Server].[Databáze].[schéma].[objekt]. To je velmi pohodlné, protože nemusíme tolik psát a je to i výhodné pokud pracujeme v databázi,… Čtěte více »

SQL Seznam tabulek bez primárního klíče – skript

Tabulce bez clusterovaného indexu se říká heap (hromada), protože je to jen hromada neuspořádaných dat. Naopak tabulka s clusterovaným indexem je lépe strukturovaná do balanced tree. Primární klíč je sám o sobě clusterovaným indexem a měla by ho mít každá tabulka. Tabulka uspořádaná do balanced tree daleko lépe v rámci datového modelu performuje při dotazech.… Čtěte více »

SQL Seznam sloupců s určitým datovým typem – INFORMATION_SCHEMA.COLUMNS

Denním chlebem db admina je sledovat v jaké kondici se nachází jeho databáze a SQL Server instance. Často je v rámci politiky stanoveno, že některé sloupce musí mít určitý datový typ – například že se nesmí z určitých důvodů používat (n)varchar (max) a potřebujeme získat seznam sloupců a datové typy, které se v naší databázi… Čtěte více »

SQL Datum – Dnešní datum, číslo týdne, měsíce a další skripty

Operace nad datumovými datovými typy jsou hodně frekventované a často potřebujeme pomocí SQL funkcí získat datum nebo nějakou jinou informaci, která z datumu vychází – například číslo týdne, měsíce, roku, posledního dne v měsíci a podobně. Dnešní datum – GETDATE(), SYSDATETIME() Dnešní datum a čas k okamžiku realizace dotazu můžeme získat dvěma způsoby. Prvním je… Čtěte více »

SQL Chyba – Conversion failed when converting the varchar value to data type int

Chybu Conversion failed when converting the varchar value to data type int vypíše SQL Server v momentě, kdy se snažíme hodnotu, která je uložena jako datový typ varchar (text) konvertovat na datový typ INTEGER. To nemusí být problém pokud máme jako varchar uložena čísla, ale problém nastane pokud se nám mezi tato čísla zamíchá nějaký text. Pokud… Čtěte více »

SQL Duplikace hodnot v tabulce s příkladem – Jak vypsat seznam duplicitních hodnot?

V některých situacích si potřebujeme udělat přehled o tom, jaká data se nacházejí v tabulce. Nebo si třeba chceme zkontrolovat jestli se v tabulce nenachází duplikace hodnot, které tam nechceme. Jak vypsat seznam takových duplicitních hodnot? Jak zjistit duplikaci řádků v tabulce? Úlohu budu demonstrovat na jednoduchém příkladu. Mějme tabulku se zákazníky, která se jmenuje… Čtěte více »

SQL IDENTITY (Auto increment) – Automatické zvýšení hodnoty

IDENTITY je v SQL Server vlastnost atributu (sloupce), která umožňuje automatické číslování záznamů, které jsou vkládány do tabulky. Tuto vlastnost lze využít na číselné datové typy. Typické využítí je pro identifikátory a primární klíče. K automatickému číslování lze využít také jiných možností, např SEQUENCE. Syntaxe IDENTITY Identity připojujeme jako vlastnost sloupce např. při založení tabulky… Čtěte více »

DBCC (Database console commands) – Velký přehled

DBCC je zkratka pro database console commands, kdy jsou příkazy prováděné nad určitou databází. Sada DBCC příkazů umožňuje vykonávat určité administrační operace nebo dotazy nad databázemi formou skriptování místo používání grafického rozhraní management studia. Pro exekuci těchto příkazů musíte mít většinou velmi silnou roli (sysadmin, serveradmin, db_owner, atp). Příkazy se dělí do několika skupin: Údržba… Čtěte více »

SQL Schema – Užitečné skripty

Schéma je prostor (kontejner), který sdružuje databázové objekty – tabulky, pohledy, procedury, atd. Primárním důvodem pro zakládání schémat je logické oddělení určitých objektů od jiných a možnost upravovat přístupová práva pro jednotlivá schémata uživatelům. CREATE a DROP SQL Schema 1) Vytvoření SQL schéma: CREATE SCHEMA trzby; 2) Založení SQL schématu s ověřením existence: Pokud chceme… Čtěte více »

SQL CONCAT_WS – spojení textových řetězců se separátorem

Jednou z novinek ve verzi SQL Server 2017 je nasazení nové funkce CONCAT_WS. Funkce dělá to samé jako CONCAT (viz velký článek o string funkcích), ale narozdíl od ní umožňuje zadat v prvním argumentu separátor – znak, kterým jsou jednotlivé stringy odděleny. Typickým využitím funkce může být generování csv souborů. Syntaxe CONCAT_WS CONCAT_WS ( separátor, argument1,… Čtěte více »

SQL TRIM, LTRIM, RTRIM funkce – očištění mezer z textu

Když se pár chytrých hlav z Microsoftu dá dohromady, může z toho vzniknout nějaké to vylepšení :). Jedním z těchto vylepšení, které přišlo s edici SQL Server 2017 je funkce TRIM. Tato funkce umožňuje na obou stranách nějakého textu (stringu) odstranit mezery. Edice před SQL Server 2017 obsahovaly pouze funkce LTRIM A RTRIM Dlouhodou dobu… Čtěte více »

SQL Server edice a verze – Jak jednoduše zjistit verzi a edici SQL Server

Způsobů jak zjistit verzi, na které běží SQL Server instance vč. edice je více. Jedním ze způsobů je zobrazit si vlastnosti (properities) nad SQL Server instancí. Tam uvidíme identifikátor verze. Jak z čísla poznat verzi SQL Serveru? Moje verze SQL serveru viz screenshot je 14.0.2002.14. Důležité je první předčíslí, které udává verzi, která je v… Čtěte více »

SQL STRING_AGG – spojení řádků do jedné hodnoty (concat string)

Nedávno jsem řešil úlohu, když jsem potřeboval v tabulce spojit řádky v nějaké tabulce do 1 string hodnoty. To nebylo u SQL Server ještě nedávno úplně jednoduché, protože narozdíl od třeba mysql neobsahoval speciální funkci k tomu určenou (muselo se na to jít přes příkaz FOR XML PATH). V SQL Server 2017 byla ale nasazena… Čtěte více »

SQL XML – Základy XML – Struktura, tagy, elementy a atributy (Díl 2.)

Pokračujeme v sérii článků věnované práci se XML v prostředí SQL Server. V tomto článku shrnu základy XML (Extensible Markup Language) jako předpoklad pro pokračování v dalších dílech. XML je velmi jednoduché na pochopení takže se není čeho bát. Zde se tedy dozvíte: co je to XML a k čemu slouží jak vypadá XML dokument a… Čtěte více »

SQL XML – Úvod do XML pro SQL Server (Díl 1.)

Tímto článkem začínám 10-ti dílnou sérii článků zaměřenou na XML pro SQL Server (Extensible Markup Language) a práci s tímto jazykem v této db platformě. Pokusím se zde krátce shrnout velmi co SQL Server s XML umí provádět s tím, že podrobněji se jednotlivým funkcím budu věnovat v dalších článcích, pro kterou jsem založil zvláštní… Čtěte více »