Microsoft Will Support Python In SQL Server 2017 (infoworld.com)
There was a surprise in the latest Community Technology Preview release of SQL Server 2017. An anonymous reader quotes InfoWorld:
Python can now be used within SQL Server to perform analytics, run machine learning models, or handle most any kind of data-powered work. This integration isn't limited to enterprise editions of SQL Server 2017, either -- it'll also be available in the free-to-use Express edition... Microsoft has also made it possible to embed Python code directly in SQL Server databases by including the code as a T-SQL stored procedure. This allows Python code to be deployed in production along with the data it'll be processing. These behaviors, and the RevoScalePy package, are essentially Python versions of features Microsoft built for SQL Server back when it integrated the R language into the database...
An existing Python installation isn't required. During the setup process, SQL Server 2017 can pull down and install its own edition of CPython 3.5, the stock Python interpreter available from the Python.org website. Users can install their own Python packages as well or use Cython to generate C code from Python modules for additional speed.
Except it's not yet available for Linux users, according to the article. "Microsoft has previously announced SQL Server would be available for Linux, but right now, only the Windows version of SQL Server 2017 supports Python."
An existing Python installation isn't required. During the setup process, SQL Server 2017 can pull down and install its own edition of CPython 3.5, the stock Python interpreter available from the Python.org website. Users can install their own Python packages as well or use Cython to generate C code from Python modules for additional speed.
Except it's not yet available for Linux users, according to the article. "Microsoft has previously announced SQL Server would be available for Linux, but right now, only the Windows version of SQL Server 2017 supports Python."
As opposed to Postgresql - which is easy to use, works well, has tons of features, and is free in every sense of the word.
Although I will concede that if you're already locked into being a MS shop and use .net for your applications then SqlServer might make sense.
There are many, many reasons to bash Microsoft. MS SQL Server is not one of them.
Could we use the command line? Of course. Would it be sensible for us to use such a limited interface? Absolutely not!
Maybe you work with small, 6-table MySQL DBs where your most complex query is "select * from wp_posts where id = 5;".
The rest of us are working in the real world.
We're working with multi-terabyte or even multi-petabyte DBs with tens of thousands of tables. We're writing complex queries that are thousands of lines long.
We want proper syntax highlighting and autocompletion when editing SQL queries because those things make us a lot more efficient.
We want to be able to incrementally work on our complex queries without having to retype them into a command line client, and without having to drop them into a file and run it through the command line client again and again, and without having to open several different terminal windows/tabs just to do this.
We want to be able to view the schemata of five or six tables at once while we're writing our queries.
What you're proposing is that we only use manual hammers to build a house, while what we're actually trying to do is build an entire district of skyscrapers using modern tools.
Maybe efficiency doesn't matter to a hobbyist like you. But efficiency matters a great deal to those of us professionals who don't have time to waste with shitty tooling. We need the best, even if that means paying a little bit of money to get it. Our time isn't free, so we don't use shitty tools just to save a couple of dollars, especially when our lost time costs way more than that.
SSMS gives us the tooling we need. PostgreSQL or MySQL's shitty command line clients don't.