Jak se připojit z macOS k MS SQL pomocí terminálu

Řeším teď nějaké propojení eshopu s Drupalem na účetní program, který vyžaduje přímý zápis dat do své databáze. Eshop běží v PHP na hostingu, účetnictví v kanceláři na počítači. Potřeboval jsem se připojit ze svého Macu a sledovat, zda se do databáze dostávají správná data.
reklama

Běžně používám k prohlížení databází buď příkazový řádek nebo bezplatnou aplikaci Sequel Pro. Problém je, že ta si poradí jenom s MySQL. Na Microsoftí databázi ji nepřipojíte. U větších projektů se to dá řešit s využitím databázového nástroje v PhpStormu.

Já však nechtěl být závislý na vývojářském prostředí. Navíc si tak nějak říkám, že se mi může možnost rychlého kouknutí do vzdálené databáze na Microsoft SQL Serveru hodit.

Nakonec to připojení není tak složité a můžete fungovat přímo z terminálu podobně, jako při použití příkazu mysql.

Jak na přístup do Microsoft SQL Serveru z Terminálu na Macu:

A tím jste připojeni a můžete začít s prohlížením dat. Zadáte jednotlivé příkazy, můžete odcentrovat na více řádků.

Důležité je vědět, že pro spuštění naskládaného příkazu musíte ještě poté přidat na samostatný řádek příkaz GO.

Pár tipů na příkazy pro neznalé MS SQL

MySQL pro mě po všech těch letech už není žádná neznámá, nicméně Microsoft SQL Server mě trochu zaskočil. Pořád je to samozřejmě SQL, ale je tu několik odlišností. Možná se vám bude hodit pár tipů, které si sem odložím vlastně i jako poznámku pro sebe.

Výpis tabulek v databázi (čili show tables v MySQL):

SELECT * FROM nazevdb.INFORMATION_SCHEMA.TABLES

GO

Výpis dat z tabulky v databázi (tady už se to od MySQL moc neliší, jen zadáváte název databáze):

SELECT * FROM nazevdb.dbo.nazev_tabulky

GO

Filtrování přes WHERE, hledání částí řetězců přes LIKE %, řazení pomocí ORDER BY, to je stejné jako v MySQL.

A konečně omezení počtu získaných záznamů. V MySQL máme LIMIT 0,10. Microsoft SQL Server to tak snadné nemá, pokud mi něco neuniklo. Limit nahrazuje pomocí OFFSET … FETCH. Takže zápis selectu s podmínkou, řazením a omezením na poslední výsledek by vypadal takto:

SELECT * FROM nazevdb.dbo.tabulka WHERE Prijmeni LIKE 'Polzer' ORDER BY datum DESC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY

Pro ukončení spojení stačí jenom napsat příkaz exit a potvrdit Enterem.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal a Symfony. Obojí také školím spolu se základy SEO. Jsem Acquia Certified Developer a Site Builder a napsal jsem několik knih o Drupalu. Ve volných chvílích cestuji a podnikám výlety. Více se dozvíte na mém firemním webu.

reklama

Komentáře k článku

návštěvník

Není alternativou LIMIT v prostředí MSSQL příkaz TOP?

Přidat komentář

Filtered HTML

  • Povolené HTML značky: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <p> <br>
  • Řádky a odstavce se zalomí automaticky.
  • Web page addresses and email addresses turn into links automatically.

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Poslední komentáře
reklama
Nové diskuze
reklama
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

Knihy o Drupalu

Kniha Drupal 8 Kniha Drupal 7 333 tipů a triků pro Drupal
Více na KnihyPolzer.cz

@maxiorel na Twitteru

Maxiorel na Twitteru