質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

4回答

537閲覧

これから学習するデータベースは何が良いか?(pythonでのwebアプリ)

sandalwalk

総合スコア77

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/09/15 00:10

現在、pythonを利用してのwebアプリの開発を学習中です。(webアプリ自体初めて)
調べてみると、MySQLのシェアが圧倒的なので、将来的に仕事に利用する場面を考えるとMySQLを学習するのがベストなのかと思うのですが、PostgreSQLは配列型が利用できたり、メリットが大きい様に感じました。
実際にwebシステムを仕事で開発されている方から見て、どちらのデータベースの学習を深める方が良いと思うか、教えて下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

日本で PostgreSQL のシェアが大きい(初期において日本 PostgreSQL ユーザー会などの活動が活発だったこと、および初期の MySQL が機能的に劣っていたことから敬遠された)のであって、全世界的には MySQL の方が使われているのは確かです。

が、基本的な部分においてはどちらを選んだところで違いはありません。
確かに PostgreSQL には配列型があったりしますが、逆に言うと他の RDB を触った場合にその独自部分が徒になります。勉強というならあくまでも基本的な部分のみに留めて利用するべきでしょう。

投稿2020/09/15 01:25

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sandalwalk

2020/09/15 01:54

今回、作成したwebアプリを作成しましたが、偶然最初に参考にした本がPostgreSQLを使っていたので、MySQLがメジャーであることも知らずに進み、また偶然に配列を使うアプリだった為、PostgreSQLの配列の機能を使ってしまいましたが、「リレーショナル」の考え方を無視しているので、一旦MySQLを使える様にプログラムも書き直そうと思います。ありがとうございました。
guest

0

シェアは変わっていくものです。
結局用途に応じてDBMSを選定する訳ですから、トレンドを意識しすぎるのも考え物です。

学習するのを目的にするなら、身近なものの方が良いと思います。
ただ、そのDBMSで出来る事と出来ない事を意識しておく事ですね。
SQLとはどういうもの? 独自拡張と標準SQLの大きな違いって、何?

SQLの規格
ANSIとISOが定めた標準SQLです。

頻繁に更新されていて、定めた年代を取って、SQL86、SQL89、SQL92、SQL:1999、SQL:2003、SQL:2006、SQL:2008、SQL:2011、SQL:2016があります。最新の標準SQLはSQL:2016。

ただし、対応は各社バラバラで、どのDBMSがどの規格に準拠しているか明記している資料はほとんどありません。

SQLの独自拡張 共通で使える関数は30%程度
SQLの標準規格は存在するものの、各社での独自拡張も多く存在しています。

このため「Oracleでは動くけど、SQL Serverだと動かない」といったSQLの方言も多数存在します。特にSQL内で使える関数は、引数なども含めて共通で使えるのは全体の30%ほどと言われています。

比較の為に、逆引きなどを利用するのも良いでしょう。
逆引きSQL構文集
Works > 逆引きSQL比較

投稿2020/09/15 02:38

編集2020/09/15 03:15
sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2020/09/15 02:48

>逆引きSQL比較 たぶん、10年以上前の資料なのが残念。
sazi

2020/09/15 03:16 編集

別なところがあったんですが、失念してしまって。 取り敢えずリンクの追加。
guest

0

プログラム観点で見ると、基本的に DB はフレームワーク内で抽象化して扱われるので、どちらだったとしてもそれほど詳しく知る必要はありません。
双方のドキュメントが読める程度の体系的な基礎とごく基本的な SQL に対しての理解があればよいです。

双方の差異が問題となるようなアプリケーションを作成するのであれば、それは DB を主な業務とする方に相談してください。

投稿2020/09/15 02:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

現場によるんですが、あまりシェアとか流行りは関係ないと思います。バージョンはなるべく最新でしょうけど、言語やフレームワークについても「以前からの慣習」によるところが大きいです。
余程致命的な不具合やセキュリティホールが見つからない限りは切り替えられることはないものかと思います。
方言は確かにあれど、基本的な考え方は同じですし、MySQLとPostgreSQLは割りと近い性質を持ってるものと思います。
SQLに関してはプログラミング言語よりも1つ身につけたら複数身に付けるのは難しくはないでしょう。
いずれか1つに特化した機能が必要になったときに覚えるか、現場のやり方をその都度キャッチアップすれば良いかと思います。

投稿2020/09/15 00:25

編集2020/09/15 01:12
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sandalwalk

2020/09/15 01:49

現場の雰囲気を教えて頂きありがとうございました。
m.ts10806

2020/09/15 01:59

特に雰囲気を書いたつもりはないです。 「現場による」と書いただけで、私個人の実務的には8割以上PostgreSQLだったので、「MySQLのシェアが圧倒的」というのに若干の違和感はあります。 MySQLは小規模向けな印象ですが、それだけ規模の小さいサービスが多いのかもしれませんね。 MySQL依存のWordPressの影響も大きいかもしれませんが、それを「現場でのシェア」と言いきって良いかどうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問