Есть ли Linux, эквивалентный LinqPad?

11

Недавно я обнаружил, что пишу больше SQL для Windows с MSSQL и LinqPad, и хотя я хочу поэкспериментировать с Ubuntu, чтобы получить больше информации о базах данных, и я не теряю любви к MSSQL, я буду использовать MySQL, я делаю хочу найти эквивалент LinqPad.

Под более конкретными терминами я подразумеваю это не самый мощный инструмент, а скорее блокнот, как LinqPad, где новичок может быстро записать запрос и выполнить его, чтобы увидеть, что происходит, а также то, что быстро запускается. и беги.

Бора Джордж
источник

Ответы:

-2

LinqPad - это в основном интерфейс для MS-SQL Server. В этом смысле у вас есть несколько вариантов, но помните, что вам нужно установить сервер MySQL ( sudo apt-get install mysql-serverв терминале), чтобы использовать их. Кроме того, вы, вероятно, захотите создать и заполнить базу данных, чтобы поиграть с ней. Самым большим отличием будет то, что вы не сможете использовать синтаксис Linq, потому что Linq - это синтаксис .Net (однако, вы можете получить аналогичные синтаксисы, перейдя на некоторые языки и фреймворки, наиболее похожим, вероятно, Рубин или Питон).

  1. Встроенное терминальное приложение MySQL. Вам нужно будет установить mysql-client (который вам, вероятно, понадобится, если вы все равно будете заниматься разработкой PHP / Python / Ruby), но затем вы можете открыть терминал и ввести mysql -u[a mysql user] -p( -pесли у пользователя mysql есть пароль , иначе просто оставь -pвыключенным). Это вызовет консоль mysql, в которой вы можете запускать SQL-запросы напрямую.

  2. MySQL Workbench Это более полнофункциональный графический интерфейс управления базой данных, более похожий на инструменты управления, чем LinqPad, но он имеет редактор SQL-запросов, который позволяет вам выполнять запросы к своему сердцу. Вы можете найти это в репозиториях как mysql-workbenchпакет.

  3. PHPMyAdmin Это где-то между, и это веб-решение. Вам необходимо установить php5и php5-mysqlпакеты, и веб - сервер (например, lighttp или апач, либо из которых PhpMyAdmin должна дать вам возможность настройки), а затем установить phpmyadminпакет. Откройте браузер и перейдите по URL, который вы создали для него, и вы можете поиграть с SQL на вкладке «SQL», опять же, к вашему сердцу.

Я лично предпочитаю Workbench, или просто простое терминальное приложение для большинства вещей.

Обновление : JetBrains работает над подключаемым / автономным клиентом SQL, похожим на MySQL Workbench. Автономная версия называется 0xDBE, но вы можете получить его как плагин, если вы уже используете один из других наборов JetBrains (WebStorm, PHPStorm и т. д.). Он примерно на один-два шага ниже возможностей Workbench в некоторых областях (в нем нет обратного инженера Workbench и моделирования данных), но он обладает преимуществами интеграции в то, что может быть существующей средой разработки, и поддержки нескольких систем баз данных, если это то, что вам нужно , Он также кроссплатформенный, как и остальные их продукты IDE. Я использовал его в течение некоторого времени как часть программы раннего доступа, и она зарекомендовала себя как надежный инструмент, похожий на блокнот (хотя и немного тяжелее по сравнению с LinqPad, если вы используете автономную версию).

Обновление 2016: Sqlectron - это новый кроссплатформенный облегченный клиент SQL, созданный на основе системы Github Electron. У меня еще не было возможности поиграть с ним, но, насколько я понимаю, это более легкий вариант для Mac и Linux, чем некоторые из предыдущих вариантов.

Shauna
источник
Спасибо, не знал об этом инструменте, он даже запрашивает Stackexchange.
Луис Альварадо
1
Вместо MySQL рассмотрите возможность использования MariaDB - форка MySQL от первоначального создателя MySQL, Монти Видениуса. MarisDB - это расширенный бинарно-совместимый модуль для MySQL, который освобождает вас от потенциальной тирании Oracle в будущем, в зависимости от того, где они используют MySQL. См. Www.mariadb.org
Клайв ван Хильтен
15
LinqPad немного отличается от инструментов управления БД, таких как те, которые вы перечислили, хотя функции частично совпадают. Инструменты управления БД обычно полнофункциональны в отношении своих соответствующих баз данных. Например, LinqPad не занимается пользователями, безопасностью, хранимыми процедурами, триггерами и т. Д. - и фактически не обрабатывает данные, что приводит к нетривиальным операторам обновления и вставки. С другой стороны, LinqPad очень полезен в качестве универсального .NET REPL. Поэтому я рекомендую его всем, кто занимается .NET, даже в отсутствие работы с базами данных.
Джон
3
LinqPad никоим образом не является интерфейсом для MSSQL - он предназначен для написания запросов Linq. Linq может работать с огромным массивом источников данных.
Фергал Моран
2
Привет @Shauna Вы пропустили мое имя, поэтому я пропустил ваш ответ, при всем моем уважении, LinqPad не был интерфейсом для MSSQL в 2013 году, это не было в 2016 году, и до сих пор нет. На самом деле этого никогда не было. Это пользовательский интерфейс для написания запросов LINQ. Тот факт, что вы могли выполнять их на MSSQL, был случайным, я в основном использовал его для XML.
Фергал Моран
37

Я должен не согласиться с основанием ответа Шона; LINQPad не является графическим интерфейсом MS-SQL или внешним интерфейсом. Это блокнот .NET, который может генерировать контекст LinqToSql для поддерживаемых контекстов данных. Это существенно отличает его от типичных клиентов SQL (таких как SQL Server Management Studio или MySql Workbench).

Из коробки LINQPad поставляется с драйверами, поддерживающими MS-SQL, однако можно легко установить дополнительные драйверы и добавить поддержку других источников данных, включая MySql.

Ответ на ваш конкретный вопрос заключается в том, что наиболее близким вам представителем, который может работать в Linux с самого начала, было бы пользовательское приложение .NET, написанное на Mono ( версия 2.6 добавила поддержку LINQtoSql ).

Однако, если вам нужно использовать LINQPad с MySql, вы легко можете использовать драйвер IQ. Вам все еще понадобится Windows для запуска LINQPad (или, возможно, Wine). Я лично держу Windows VirtualBox на своей станции разработки Linux специально для нескольких инструментов, таких как LINQPad, которые предназначены только для Windows.

STW
источник
3
Хотя в ближайшем будущем ситуация может измениться с открытым исходным кодом .Net Framework, LinqPad в настоящее время не может работать непосредственно в системах, отличных от Windows, из-за использования WPF и отсутствия реализации Mono в Mono ( stackoverflow.com/a/3682218/ 570040 ). WineHQ в настоящее время не имеет никакой информации о LinqPad, в частности, и, по-видимому, он использует Mono для реализации по умолчанию в .Net ( forum.winehq.org/viewtopic.php?t=14392 ). Правильно .Net может работать (по крайней мере, более или менее), но его может быть сложно настроить ( appdb.winehq.org/objectManager.php?sClass=version&iId=17886 )
Шона
1
Напоминаю (но могу ошибаться), что LINQPad использует некоторые сторонние компоненты, которые предназначены только для Windows. В любом случае, MySQL Workbench стал достойным инструментом, который полностью чувствуется дома в Linux, и если LINQPad действительно требуется, то машина VirtualBox с Windows работает отлично - я некоторое время назад отказался от .NET dev и оставил Windows VM для несколько утилит (в основном Fiddler, больше) и удобный способ иметь инструменты для Windows, когда они вам действительно нужны в среде Linux.
STW
2
+1 другой ответ неверен, LINQPad - это гораздо больше, чем графический интерфейс для SQL Server.
Ян Ньюсон