Existe-t-il un Linux équivalent à LinqPad?

11

Je me suis récemment retrouvé à écrire plus de SQL, sur Windows avec MSSQL et LinqPad et même si je veux expérimenter sur Ubuntu pour obtenir plus de prise en main sur les bases de données et je n'ai aucun amour perdu pour MSSQL, je vais utiliser MySQL que je fais veulent trouver un équivalent LinqPad.

Ce que je veux dire par là en termes plus concrets n'est pas l'outil le plus puissant, mais plutôt un bloc-notes comme LinqPad, où un novice peut rapidement écrire une requête et l'exécuter pour voir ce qui se passe, aussi quelque chose qui est rapide à démarrer et courir.

Bora George
la source

Réponses:

-2

LinqPad est essentiellement une interface graphique pour MS-SQL Server. En ce sens, vous avez plusieurs options, mais n'oubliez pas que vous devrez installer le serveur MySQL ( sudo apt-get install mysql-serverdans le terminal) pour les utiliser. De plus, vous voudrez probablement créer et remplir une base de données avec laquelle jouer. La plus grande différence sera que vous ne pourrez pas utiliser la syntaxe Linq, car Linq est une syntaxe .Net (vous pouvez cependant obtenir des syntaxes similaires en entrant dans certains langages et frameworks, le plus ressemblant étant probablement Ruby ou Python).

  1. Application de terminal intégrée de MySQL. Vous devrez installer mysql-client (dont vous aurez probablement besoin si vous faites du développement PHP / Python / Ruby, de toute façon), mais ensuite, vous pouvez ouvrir un terminal et taper mysql -u[a mysql user] -p( -psi l'utilisateur mysql a un mot de passe , sinon laissez-le -péteint). Cela fera apparaître une console mysql, dans laquelle vous pourrez ensuite exécuter des requêtes SQL directement.

  2. MySQL Workbench Il s'agit d'une interface graphique de gestion de base de données plus complète, plus similaire aux outils de gestion que LinqPad, mais elle dispose d'un éditeur de requêtes SQL qui vous permet d'exécuter des requêtes selon le contenu de votre cœur. Vous pouvez le trouver dans les dépôts en tant que mysql-workbenchpackage.

  3. PHPMyAdmin C'est quelque part entre, et est une solution basée sur le Web. Vous devrez installer les packages php5et php5-mysql, et un serveur Web (tel que lighttp ou apache, que PhpMyAdmin devrait vous donner la possibilité de configurer), puis installer le phpmyadminpackage. Ouvrez votre navigateur et accédez à l'URL que vous avez créée pour lui, et vous pouvez jouer avec SQL dans l'onglet "SQL", encore une fois au contenu de votre cœur.

Personnellement, je préfère Workbench, ou simplement l'application de terminal simple pour la plupart des choses.

Mise à jour : JetBrains travaille sur un plug-in / client SQL autonome similaire à MySQL Workbench. La version autonome est appelée 0xDBE, mais vous pouvez l'obtenir en tant que plug-in si vous utilisez déjà l'une des autres suites de JetBrains (WebStorm, PHPStorm, etc.). Il s'agit d'une étape ou deux en dessous de la puissance de Workbench dans certains domaines (il ne dispose pas de l'ingénierie inverse et de la modélisation des données de Workbench), mais présente les avantages de s'intégrer dans ce qui peut être votre environnement de développement existant et de prendre en charge plusieurs systèmes de base de données si c'est ce dont vous avez besoin . Il est également multiplateforme, comme le reste de leurs produits IDE. Je l'utilise depuis un certain temps dans le cadre du programme d'accès anticipé et il s'est avéré solide et un excellent outil de type bloc-notes (bien qu'un peu lourd par rapport à LinqPad si vous utilisez la version autonome).

Mise à jour 2016: Sqlectron est un nouveau client SQL léger multiplateforme, construit sur le système Electron de Github. Je n'ai pas encore eu l'occasion de jouer avec, mais si je comprends bien, c'est une option plus légère pour les environnements Mac et Linux que certaines des anciennes options.

Shauna
la source
Merci, ne connaissait pas cet outil, il interroge même Stackexchange.
Luis Alvarado
1
Plutôt que MySQL, pensez à utiliser MariaDB - un fork de MySQL par le créateur original de MySQL, Monty Widenius. MarisDB est un drop-in amélioré et compatible binaire pour MySQL et vous libère de la tyrannie potentielle d'Oracle à l'avenir, selon où ils prennent MySQL. Voir www.mariadb.org
Clive van Hilten
15
LinqPad est quelque chose de légèrement différent des outils de gestion de base de données tels que ceux que vous listez, bien qu'il y ait un chevauchement dans les fonctionnalités. Les outils de gestion de db sont généralement dotés de fonctionnalités complètes concernant leurs bases de données respectives. LinqPad, par exemple, n'effectue pas les utilisateurs, la sécurité, les procédures stockées, les déclencheurs, etc. - ou en fait toute manipulation de données entraînant des mises à jour et des insertions non triviales. D'un autre côté, LinqPad est très utile en tant que REPL générique .NET. En tant que tel, je le recommande à tous ceux qui utilisent .NET, même en l'absence de travail de base de données.
John
3
LinqPad n'est en aucun cas un frontal pour MSSQL - c'est pour écrire des requêtes Linq. Linq peut cibler un vaste éventail de sources de données.
Fergal Moran
2
Salut @Shauna Vous avez mal marqué mon nom, j'ai donc manqué votre réponse, avec tout le respect que je vous dois, LinqPad n'était pas un front-end pour MSSQL en 2013, ce n'était pas en 2016 et ce n'est toujours pas maintenant. En fait, ça ne l'a jamais été. C'est une interface utilisateur pour écrire des requêtes LINQ. Le fait que vous puissiez les exécuter contre MSSQL était fortuit, je l'ai principalement utilisé pour XML.
Fergal Moran
37

Je dois être en désaccord avec le fondement de la réponse de Shauna; LINQPad n'est pas une interface graphique ou frontend MS-SQL. Il s'agit d'un bloc-notes .NET qui peut générer un contexte LinqToSql pour les contextes de données pris en charge. Cela le rend fondamentalement différent des clients SQL typiques (tels que SQL Server Management Studio ou MySql Workbench).

LINQPad est livré avec des pilotes qui prennent en charge MS-SQL, mais des pilotes supplémentaires peuvent être facilement installés et peuvent prendre en charge d'autres sources de données, y compris MySql.

Pour votre question spécifique, la réponse est que le plus proche penserez que vous pouvez exécuter nativement sous Linux serait une application .NET personnalisée écrite avec Mono (la version 2.6 a ajouté le support LINQtoSql ).

Cependant, si vous devez utiliser LINQPad avec MySql, vous pouvez facilement utiliser le pilote IQ. Vous aurez toujours besoin de Windows pour exécuter LINQPad (ou, éventuellement, wine). Personnellement, je garde une Windows VirtualBox sur ma station de développement Linux spécifiquement pour une poignée d'outils tels que LINQPad qui sont uniquement Windows.

STW
la source
3
Bien que les choses puissent changer dans un avenir relativement proche avec l'open source du framework .Net, LinqPad ne peut actuellement pas fonctionner nativement sur les systèmes non Windows en raison de son utilisation de WPF et du manque d'implémentation de WPF de Mono ( stackoverflow.com/a/3682218/ 570040 ). WineHQ ne dispose actuellement d'aucune information sur LinqPad, en particulier, et il semble de toute façon utiliser Mono pour son implémentation .Net par défaut ( forum.winehq.org/viewtopic.php?t=14392 ). .Net proprement dit peut fonctionner (plus ou moins, au moins), mais peut être poilu à configurer ( appdb.winehq.org/objectManager.php?sClass=version&iId=17886 )
Shauna
1
Je me souviens (mais peut-être tort) que LINQPad utilise des composants tiers qui sont uniquement Windows. Quoi qu'il en soit, MySQL Workbench est devenu un outil décent qui est entièrement à la maison sous Linux, et si LINQPad est vraiment nécessaire, alors une machine VirtualBox Windows fonctionne très bien - j'ai abandonné le développement .NET il y a quelque temps et je garde une machine virtuelle Windows pour un quelques utilitaires (principalement Fiddler, plus) et c'est un moyen pratique d'avoir les outils Windows lorsque vous en avez vraiment besoin dans un environnement Linux.
STW
2
+1 l'autre réponse est incorrecte, LINQPad est bien plus qu'une interface graphique pour SQL Server.
Ian Newson