是否有相当于 LinqPad 的 Linux?

Bor*_*rge 12 mysql database

我最近发现自己在 Windows 上用 MSSQL 和LinqPad编写了更多的 SQL,虽然我想在 Ubuntu 上进行实验以更好地处理数据库,而且我对 MSSQL 不感兴趣,但我将使用 MySQL想找到一个等效的 LinqPad。

更具体的说,我的意思不是最强大的工具,而是像 LinqPad 这样的便笺簿,新手可以快速写下查询并运行它以查看会发生什么,也可以快速启动并运行。

STW*_*STW 40

我不得不不同意 Shauna 回答的基础;LINQPad 不是 MS-SQL gui 或前端。它是一个 .NET 暂存器,可以为支持的数据上下文生成 LinqToSql 上下文。这使得它与典型的 SQL 客户端(例如 SQL Server Management Studio 或 MySql Workbench)有着根本的不同。

开箱即用的 LINQPad 附带支持 MS-SQL 的驱动程序,但是可以轻松安装其他驱动程序并添加对其他数据源的支持——包括 MySql。

对于您的具体问题,答案是您会发现可以在 Linux 上本地运行的最接近的想法是使用 Mono 编写的自定义 .NET 应用程序(2.6 版添加了 LINQtoSql支持)。

但是,如果您需要将 LINQPad 与 MySql 一起使用,您可以轻松地使用 IQ 驱动程序。您仍然需要 Windows 来运行 LINQPad(或者可能是 wine)。我个人在我的 Linux 开发站上保留了一个 Windows VirtualBox,专门用于少数工具,例如仅适用于 Windows 的 LINQPad。

  • 虽然随着 .Net 框架的开源,情况可能会在相对不久的将来发生变化,但由于使用 WPF 和 Mono 缺乏 WPF 实现,LinqPad 目前无法在非 Windows 系统上本地运行 (http://stackoverflow.com/ a/3682218/570040)。WineHQ 目前没有关于 LinqPad 的信息,特别是,它似乎使用 Mono 作为其默认的 .Net 实现,无论如何(https://forum.winehq.org/viewtopic.php?t=14392)。.Net 可能会起作用(至少或多或少),但设置起来可能很麻烦(https://appdb.winehq.org/objectManager.php?sClass=version&iId=17886) (3认同)
  • +1 另一个答案是不正确的,LINQPad 不仅仅是 SQL Server 的 GUI。 (2认同)

Sha*_*una -4

LinqPad 基本上是 MS-SQL Server 的 GUI 前端。从这个意义上说,您有多种选择,但请记住,您需要安装 MySQL 服务器(sudo apt-get install mysql-server在终端中)才能使用它们。此外,您可能需要创建并填充一个数据库来使用。最大的区别是您将无法使用 Linq 语法,因为 Linq 是一种 .Net 语法(但是,您可以通过了解某些语言和框架来获得类似的语法,最相似的可能是Ruby 或 Python)。

  1. MySQL 的内置终端应用程序。你必须安装 mysql-client (无论如何,如果你进行任何 PHP/Python/Ruby 开发,你可能会需要它),但是然后,你可以打开一个终端并输入mysql -u[a mysql user] -p-p如果 mysql 用户有密码) ,否则就关闭-p)。这将打开一个 mysql 控制台,然后您可以直接在其中运行 SQL 查询。

  2. MySQL Workbench这是一个功能更齐全的数据库管理 GUI,与 LinqPad 相比更类似于管理工具,但它具有 SQL 查询编辑器,允许您随心所欲地运行查询。您可以在存储库中找到它作为包mysql-workbench

  3. PHPMyAdmin这是一个介于两者之间的解决方案,是一个基于 Web 的解决方案。您需要安装php5php5-mysql软件包,以及一个 Web 服务器(例如 lighttp 或 apache,PhpMyAdmin 应该为您提供配置选项),然后安装该phpmyadmin软件包。打开浏览器并导航到您为其创建的 URL,然后您可以在“SQL”选项卡中使用 SQL,再次尽情享受。

我个人更喜欢 Workbench,或者对于大多数事情来说只是简单的终端应用程序。

更新:JetBrains 一直在开发类似于 MySQL Workbench 的插件/独立 SQL 客户端。独立版本称为0xDBE,但如果您已经使用 JetBrains 的其他套件之一(WebStorm、PHPStorm 等),则可以将其作为插件获取。它在某些领域比 Workbench 的功能低一两步(它没有 Workbench 的逆向工程和数据建模),但具有集成到您现有的开发环境中并支持多个数据库系统(如果您需要的话)的优势。与其他 IDE 产品一样,它也是跨平台的。作为早期访问计划的一部分,我已经使用它一段时间了,事实证明它坚如磐石,是一个很棒的便签本工具(尽管如果您使用独立版本,与 LinqPad 相比有点重)。

2016 更新: Sqlectron是一个新的跨平台轻量级 SQL 客户端,构建在 Github 的 Electron 系统上。我还没有机会使用它,但据我了解,与之前的一些选项相比,它对于 Mac 和 Linux 环境来说是一个更轻量级的选项。

  • LinqPad 与您列出的数据库管理工具略有不同,尽管功能有重叠。数据库管理工具通常具有关于其各自数据库的完整功能。例如,LinqPad 不执行用户、安全性、存储过程、触发器等操作,或者实际上不执行任何导致任何重要更新和插入语句的数据操作。另一方面,LinqPad 作为通用 .NET REPL 非常有用。因此,我向所有从事 .NET 工作的人推荐它,即使没有任何数据库工作。 (17认同)
  • LinqPad 绝不是 MSSQL 的前端 - 它用于编写 Linq 查询。Linq 可以针对大量数据源。 (5认同)
  • 你好@Shauna,你错过了我的名字标签,所以我错过了你的回复,恕我直言,LinqPad 在 2013 年不是 MSSQL 的前端,在 2016 年不是,现在仍然不是。事实上,从来都不是。它是用于编写 LINQ 查询的 UI。您可以针对 MSSQL 执行它们这一事实是偶然的,我主要将其用于 XML。 (3认同)