Ich habe kürzlich festgestellt, dass ich unter Windows mit MSSQL und LinqPad mehr SQL schreibe. Während ich mit Ubuntu experimentieren möchte, um mehr Einfluss auf Datenbanken zu haben, und ich keine Liebe für MSSQL verloren habe, werde ich MySQL verwenden Ich möchte ein LinqPad-Äquivalent finden.
Was ich damit konkreter meine, ist nicht das mächtigste Werkzeug, sondern eher ein Notizblock wie LinqPad, bei dem ein Anfänger schnell eine Abfrage aufschreiben und ausführen kann, um zu sehen, was passiert, und auch etwas, das schnell gestartet werden kann und Renn.
LinqPad ist im Grunde ein GUI-Frontend für MS-SQL Server. In diesem Sinne haben Sie mehrere Optionen, aber denken Sie daran, dass Sie den MySQL-Server ( sudo apt-get install mysql-serverim Terminal) installieren müssen, um sie zu verwenden. Darüber hinaus möchten Sie wahrscheinlich eine Datenbank erstellen und füllen, mit der Sie herumspielen können. Der größte Unterschied besteht darin, dass Sie die Linq-Syntax nicht verwenden können, da Linq eine .NET-Syntax ist (Sie können jedoch ähnliche Syntaxen erhalten, indem Sie einige der Sprachen und Frameworks verwenden, von denen die wahrscheinlich am ähnlichsten sind Ruby oder Python).
Die in MySQL integrierte Terminalanwendung. Sie müssen den MySQL-Client installieren (den Sie wahrscheinlich benötigen, wenn Sie PHP / Python / Ruby entwickeln), aber dann können Sie ein Terminal öffnen und eingeben mysql -u[a mysql user] -p( -pwenn der MySQL-Benutzer ein Kennwort hat , sonst einfach weglassen -p). Daraufhin wird eine MySQL-Konsole aufgerufen, in der Sie SQL-Abfragen direkt ausführen können.
MySQL Workbench Dies ist eine umfassendere Datenbankverwaltungs-GUI, die den Verwaltungstools ähnlicher ist als LinqPad. Sie verfügt jedoch über einen SQL-Abfrageeditor, mit dem Sie Abfragen nach Herzenslust ausführen können. Sie finden dies in den Repos als mysql-workbenchPaket.
PHPMyAdmin Dies liegt irgendwo dazwischen und ist eine webbasierte Lösung. Hier finden Sie die installieren müssen php5und php5-mysqlPakete und einen Web - Server (wie lighttp oder Apache, von denen PhpMyAdmin sollten Sie die Option zu konfigurieren geben), dann das phpmyadminInstallationspaket. Öffnen Sie Ihren Browser und navigieren Sie zu der URL, die Sie dafür erstellt haben. Sie können mit SQL auf der Registerkarte "SQL" wieder nach Herzenslust spielen.
Ich persönlich bevorzuge Workbench oder für die meisten Dinge nur die einfache Terminalanwendung.
Update : JetBrains hat an einem Plug-In / Standalone-SQL-Client ähnlich wie MySQL Workbench gearbeitet. Die eigenständige Version heißt 0xDBESie können es jedoch als Plug-In erhalten, wenn Sie bereits eine der anderen JetBrains-Suiten (WebStorm, PHPStorm usw.) verwenden. Es geht in einigen Bereichen um ein oder zwei Schritte unter der Leistung von Workbench (es verfügt nicht über Workbenchs Reverse Engineering und Datenmodellierung), hat jedoch den Vorteil, dass es in Ihre vorhandene Entwicklungsumgebung integriert werden kann und bei Bedarf mehrere Datenbanksysteme unterstützt werden . Es ist auch plattformübergreifend, wie der Rest ihrer IDE-Produkte. Ich benutze es seit einiger Zeit als Teil des Early-Access-Programms und es hat sich als absolut solide und als großartiges Scratch-Pad-ähnliches Tool erwiesen (wenn auch etwas schwer im Vergleich zu LinqPad, wenn Sie die Standalone-Version verwenden).
Update 2016: Sqlectron ist ein neuer plattformübergreifender, leichter SQL-Client, der auf dem Electron-System von Github basiert. Ich hatte noch keine Gelegenheit, damit zu spielen, aber so wie ich es verstehe, ist es eine leichtere Option für Mac- und Linux-Umgebungen als einige der früheren Optionen.
Danke, wusste nichts über dieses Tool, es fragt sogar Stackexchange ab.
Luis Alvarado
1
Verwenden Sie anstelle von MySQL MariaDB - eine Abzweigung von MySQL durch den ursprünglichen Schöpfer von MySQL, Monty Widenius. MarisDB ist ein erweitertes und binär kompatibles Drop-In für MySQL und befreit Sie von der potenziellen Tyrannei von Oracle in der Zukunft, je nachdem, wo MySQL eingesetzt wird. Siehe www.mariadb.org
Clive van Hilten
15
LinqPad unterscheidet sich geringfügig von DB-Verwaltungstools wie den von Ihnen aufgelisteten, obwohl sich die Funktionen überschneiden. Die Datenbankverwaltungstools sind in Bezug auf ihre jeweiligen Datenbanken in der Regel vollständig. LinqPad führt beispielsweise keine Benutzer, Sicherheit, gespeicherten Prozeduren, Trigger usw. aus - oder Datenmanipulationen, die zu nicht trivialen Aktualisierungs- und Einfügeanweisungen führen. Andererseits ist LinqPad als generisches .NET REPL sehr nützlich. Als solches empfehle ich es jedem, der .NET macht, auch wenn keine Datenbankarbeit vorhanden ist.
John
3
LinqPad ist in keiner Weise ein Frontend für MSSQL - es dient zum Schreiben von Linq-Abfragen. Linq kann auf eine Vielzahl von Datenquellen abzielen.
Fergal Moran
2
Hi @Shauna Du hast meinen Namen falsch markiert, also habe ich deine Antwort verpasst. Bei allem Respekt war LinqPad 2013 kein Front-End für MSSQL, es war nicht 2016 und es ist immer noch nicht jetzt. In der Tat war es nie. Es ist eine Benutzeroberfläche zum Schreiben von LINQ-Abfragen. Die Tatsache, dass Sie sie gegen MSSQL ausführen konnten, war zufällig, ich habe sie hauptsächlich für XML verwendet.
Fergal Moran
37
Ich muss der Grundlage von Shaunas Antwort nicht zustimmen. LINQPad ist keine MS-SQL-Benutzeroberfläche oder kein Frontend. Es ist ein .NET-Notizblock, der einen LinqToSql-Kontext für unterstützte Datenkontexte generieren kann. Dies unterscheidet es grundlegend von typischen SQL-Clients (wie SQL Server Management Studio oder MySql Workbench).
LINQPad wird standardmäßig mit Treibern geliefert, die MS-SQL unterstützen. Zusätzliche Treiber können jedoch einfach installiert werden und andere Datenquellen - einschließlich MySQL - unterstützen.
Für Ihre spezielle Frage lautet die Antwort, dass der nächste Gedanke, der unter Linux nativ ausgeführt werden kann, eine benutzerdefinierte .NET-Anwendung ist, die mit Mono geschrieben wurde ( Version 2.6 hat LINQtoSql- Unterstützung hinzugefügt ).
Wenn Sie jedoch LINQPad mit MySql verwenden müssen, können Sie problemlos den IQ-Treiber verwenden. Sie benötigen weiterhin Windows, um LINQPad (oder möglicherweise Wein) auszuführen. Ich persönlich habe eine Windows VirtualBox auf meiner Linux-Entwicklungsstation, speziell für eine Handvoll Tools wie LINQPad, die nur für Windows bestimmt sind.
Während sich die Dinge mit dem Open-Sourcing des .Net-Frameworks in relativ naher Zukunft ändern könnten, kann LinqPad derzeit nicht nativ auf Nicht-Windows-Systemen ausgeführt werden, da WPF verwendet wird und Mono keine WPF-Implementierung hat ( stackoverflow.com/a/3682218/). 570040 ). WineHQ hat derzeit keine spezifischen Informationen zu LinqPad und scheint Mono ohnehin für seine standardmäßige .Net-Implementierung zu verwenden ( forum.winehq.org/viewtopic.php?t=14392 ). .Net richtig kann funktionieren (zumindest mehr oder weniger), kann aber haarig einzurichten sein ( appdb.winehq.org/objectManager.php?sClass=version&iId=17886 )
Shauna
1
Ich erinnere mich (könnte aber falsch sein), dass LINQPad einige Komponenten von Drittanbietern verwendet, die nur für Windows bestimmt sind. In beiden Fällen hat sich MySQL Workbench zu einem anständigen Tool entwickelt, das unter Linux vollständig zu Hause ist. Wenn LINQPad wirklich benötigt wird, funktioniert ein VirtualBox-Windows-Computer hervorragend. Ich habe vor einiger Zeit von .NET dev gewechselt und eine Windows-VM für eine Weile beibehalten Es gibt nur noch wenige Dienstprogramme (hauptsächlich Fiddler), und es ist eine bequeme Möglichkeit, die Windows-Tools zu verwenden, wenn Sie sie in einer Linux-Umgebung wirklich benötigen.
STW
2
+1 die andere Antwort ist falsch, LINQPad ist weit mehr als eine GUI für SQL Server.
Ich muss der Grundlage von Shaunas Antwort nicht zustimmen. LINQPad ist keine MS-SQL-Benutzeroberfläche oder kein Frontend. Es ist ein .NET-Notizblock, der einen LinqToSql-Kontext für unterstützte Datenkontexte generieren kann. Dies unterscheidet es grundlegend von typischen SQL-Clients (wie SQL Server Management Studio oder MySql Workbench).
LINQPad wird standardmäßig mit Treibern geliefert, die MS-SQL unterstützen. Zusätzliche Treiber können jedoch einfach installiert werden und andere Datenquellen - einschließlich MySQL - unterstützen.
Für Ihre spezielle Frage lautet die Antwort, dass der nächste Gedanke, der unter Linux nativ ausgeführt werden kann, eine benutzerdefinierte .NET-Anwendung ist, die mit Mono geschrieben wurde ( Version 2.6 hat LINQtoSql- Unterstützung hinzugefügt ).
Wenn Sie jedoch LINQPad mit MySql verwenden müssen, können Sie problemlos den IQ-Treiber verwenden. Sie benötigen weiterhin Windows, um LINQPad (oder möglicherweise Wein) auszuführen. Ich persönlich habe eine Windows VirtualBox auf meiner Linux-Entwicklungsstation, speziell für eine Handvoll Tools wie LINQPad, die nur für Windows bestimmt sind.
quelle