Czy istnieje Linux odpowiadający LinqPad?

11

Niedawno zacząłem pisać więcej SQL, na Windows z MSSQL i LinqPad i chociaż chcę eksperymentować na Ubuntu, aby uzyskać większą kontrolę nad bazami danych i nie przepadam za MSSQL, będę używać MySQL. chcę znaleźć odpowiednik LinqPad.

To, co mam na myśli bardziej konkretnie, nie jest najpotężniejszym narzędziem, ale bardziej scratch-pad taki jak LinqPad, w którym nowicjusz może szybko napisać zapytanie i uruchomić je, aby zobaczyć, co się stanie, a także coś, co można szybko rozpocząć i biegnij.

Bora George
źródło

Odpowiedzi:

-2

LinqPad jest w zasadzie interfejsem GUI dla MS-SQL Server. W tym sensie masz kilka opcji, ale pamiętaj, że będziesz musiał zainstalować serwer MySQL ( sudo apt-get install mysql-serverw terminalu), aby z nich korzystać. Ponadto prawdopodobnie będziesz chciał utworzyć i wypełnić bazę danych do zabawy. Największą różnicą będzie to, że nie będziesz mógł używać składni Linq, ponieważ Linq jest składnią .Net (możesz jednak uzyskać podobne składnie, wchodząc w niektóre języki i frameworki, przy czym najbardziej przypomina to prawdopodobnie Ruby lub Python).

  1. Wbudowana aplikacja terminalowa MySQL. Będziesz musiał zainstalować klienta mysql (i tak prawdopodobnie będziesz potrzebować, jeśli wykonasz programowanie w PHP / Python / Ruby), ale potem możesz otworzyć terminal i wpisać mysql -u[a mysql user] -p( -pjeśli użytkownik mysql ma hasło , w przeciwnym razie po prostu -pwyłącz). Spowoduje to wyświetlenie konsoli mysql, w której można bezpośrednio uruchamiać zapytania SQL.

  2. MySQL Workbench Jest to w pełni funkcjonalny graficzny interfejs użytkownika do zarządzania bazami danych, bardziej podobny do narzędzi do zarządzania niż LinqPad, ale zawiera edytor zapytań SQL, który umożliwia uruchamianie zapytań do treści twojego serca. Możesz to znaleźć w repozytoriach jako mysql-workbenchpakiet.

  3. PHPMyAdmin Jest to gdzieś pomiędzy i jest rozwiązaniem internetowym. Musisz zainstalować php5i php5-mysqlpakietów, a serwer WWW (takich jak lighttp lub Apache, z których każdy PhpMyAdmin powinno dać opcję, aby skonfigurować), a następnie zainstalować phpmyadminpakiet. Otwórz przeglądarkę i przejdź do adresu URL, który dla niej stworzyłeś, i możesz grać w SQL na karcie „SQL”, ponownie do treści twojego serca.

Osobiście wolę Workbench, lub po prostu zwykłą aplikację terminalową do większości rzeczy.

Aktualizacja : JetBrains pracuje nad wtyczkowym / samodzielnym klientem SQL podobnym do MySQL Workbench. Wersja autonomiczna nosi nazwę 0xDBE, ale możesz go pobrać jako wtyczkę, jeśli już korzystasz z jednego z innych pakietów JetBrains (WebStorm, PHPStorm itp.). W niektórych obszarach chodzi o krok lub dwa poniżej mocy Workbench (nie ma inżyniera odwrotnego i modelowania danych Workbench), ale ma zalety integracji z istniejącym środowiskiem programistycznym i obsługi wielu systemów baz danych, jeśli tego potrzebujesz . Jest również wieloplatformowy, podobnie jak reszta ich produktów IDE. Używam go przez jakiś czas jako część programu wczesnego dostępu i okazało się, że jest solidny i świetny jak narzędzie do drapania (choć trochę cięższy w porównaniu do LinqPada, jeśli używasz wersji autonomicznej).

Aktualizacja 2016: Sqlectron to nowy wieloplatformowy lekki klient SQL, zbudowany na systemie Electron firmy Github. Nie miałem jeszcze okazji się z tym bawić, ale jak rozumiem, jest to lżejsza opcja dla środowisk Mac i Linux niż niektóre poprzednie opcje.

Shauna
źródło
Dzięki, nie wiedziałem o tym narzędziu, ono nawet odpytuje Stackexchange.
Luis Alvarado,
1
Zamiast MySQL, rozważ użycie MariaDB - rozwidlenia MySQL autorstwa oryginalnego twórcy MySQL, Monty Wideniusa. MarisDB jest ulepszonym i kompatybilnym binarnie dodatkiem do MySQL i uwalnia cię od potencjalnej tyranii Oracle w przyszłości, w zależności od tego, gdzie zabierze MySQL. Zobacz www.mariadb.org
Clive van Hilten
15
LinqPad jest czymś nieco innym niż narzędzia do zarządzania bazami danych, takie jak te, które wymieniasz, chociaż funkcje nakładają się. Narzędzia do zarządzania bazami danych są zwykle kompletne w odniesieniu do odpowiednich baz danych. LinqPad, na przykład, nie robi użytkowników, bezpieczeństwa, procedur przechowywanych, wyzwalaczy itp. - ani nie manipuluje danymi, co skutkuje nietrywialnymi instrukcjami aktualizacji i wstawiania. Z drugiej strony LinqPad jest bardzo przydatny jako ogólny .NET REPL. Jako taki polecam go każdemu, kto robi .NET, nawet przy braku pracy z bazą danych.
John
3
LinqPad nie jest w żaden sposób nakładką na MSSQL - służy do pisania zapytań Linq. Linq może atakować ogromną gamę źródeł danych.
Fergal Moran
2
Cześć @Shauna Nietagowałeś mojego imienia, więc przegapiłem twoją odpowiedź, z całym szacunkiem, LinqPad nie był frontonem dla MSSQL w 2013 roku, nie był w 2016 roku i nadal nie jest. W rzeczywistości tak nigdy nie było. Jest to interfejs użytkownika do pisania zapytań LINQ. Fakt, że mogłeś je wykonać przeciwko MSSQL był przypadkowy, użyłem go głównie do XML.
Fergal Moran
37

Muszę się nie zgadzać z podstawą odpowiedzi Shauny; LINQPad nie jest interfejsem MS-SQL ani interfejsem użytkownika. Jest to scratchpad .NET, który może generować kontekst LinqToSql dla obsługiwanych kontekstów danych. To zasadniczo różni się od typowych klientów SQL (takich jak SQL Server Management Studio lub MySql Workbench).

Po wyjęciu z pudełka LINQPad jest dostarczany ze sterownikami obsługującymi MS-SQL, jednak można łatwo zainstalować dodatkowe sterowniki i dodać obsługę innych źródeł danych - w tym MySql.

W przypadku konkretnego pytania odpowiedzią jest, że najbliższą myślą, którą można uruchomić natywnie w systemie Linux, jest niestandardowa aplikacja .NET napisana w Mono ( wersja 2.6 dodała obsługę LINQtoSql ).

Jeśli jednak potrzebujesz użyć LINQPad z MySql, możesz łatwo użyć sterownika IQ. Nadal będziesz potrzebował systemu Windows, aby uruchomić LINQPad (lub ewentualnie wine). Osobiście przechowuję Windows VirtualBox na mojej stacji deweloperskiej Linux specjalnie dla kilku narzędzi, takich jak LINQPad, które są tylko dla systemu Windows.

STW
źródło
3
Chociaż sytuacja może się zmienić w stosunkowo niedalekiej przyszłości dzięki otwartemu źródłu frameworku .Net, LinqPad nie może obecnie działać natywnie na systemach innych niż Windows z powodu użycia WPF i braku implementacji WPF przez Mono ( stackoverflow.com/a/3682218/ 570040 ). WineHQ obecnie nie ma żadnych informacji na temat LinqPad, i wydaje się, że używa Mono do domyślnej implementacji .Net ( forum.winehq.org/viewtopic.php?t=14392 ). Właściwe .Net może działać (przynajmniej mniej więcej), ale może być włochate w konfiguracji ( appdb.winehq.org/objectManager.php?sClass=version&iId=17886 )
Shauna
1
Pamiętam (ale może się mylić), że LINQPad używa niektórych komponentów innych firm, które są tylko dla systemu Windows. Tak czy inaczej, MySQL Workbench stał się przyzwoitym narzędziem, które jest w pełni w domu w Linuksie, a jeśli LINQPad jest naprawdę wymagany, to maszyna Windows VirtualBox działa świetnie - przełączyłem się z .NET dev jakiś czas temu i trzymałem VM Windows dla kilka narzędzi (głównie Fiddler, już) i jest to wygodny sposób na posiadanie narzędzi systemu Windows, gdy naprawdę potrzebujesz ich w środowisku Linux.
STW,
2
+1 druga odpowiedź jest niepoprawna, LINQPad to znacznie więcej niż GUI dla SQL Server.
Ian Newson,