第1回:同じようで違うデータ型 (1/3)

徹底比較!! PostgreSQL vs MySQLパート2
徹底比較!! PostgreSQL vs MySQLパート2

第1回:同じようで違うデータ型
著者:NTTデータ   藤塚 勤也   2007/4/2
1   2  3  次のページ
連載で扱うバージョン

   本連載では、「徹底比較!! PostgreSQL vs MySQL」で取り上げることのできなかった項目をいくつか取り上げ、再びPostgreSQLとMySQLについて解説していきます。最後までお付き合いいただけると幸いです。

   なお、本連載での解説対象のPostgreSQLとMySQLのバージョンは以下の通りです。
  • PostgreSQLバージョン8.1.8
  • MySQLバージョン5.0.22

表1:解説対象のバージョン

   ある特定のバージョンに特化した内容を解説する予定はないため、基本的には、PostgreSQLは8.1系、MySQLは5.0系の内容として理解してください。なお先日、PostgreSQL 8.2がリリースされましたが、まだまだ実際に利用されているのは8.1系だと思われますので、ご了承ください。

   また、PostgreSQLとMySQLは様々なOSで動作可能ですが、特に断りのない場合はLinux版を前提にしています。

   第1回目の今回は、各種データ型の違いについて取り上げます。


数値データ型について

   まずは数値のデータ型についてですが、PostgreSQL、MySQLそれぞれがサポートしている代表的な数値データ型を次に示します。

PostgreSQL
smallint、int、bigint、decimal、numeric
MySQL
tinyint、smallint、mediumint、int、bigint、decimal、numeric

表2:PostgreSQLとMySQLのデータ型

   PostgreSQL、MySQL共にいくつかの整数値用のデータ型(〜int型)をサポートしています。それぞれの整数型は格納できるバイト数の違いによるもので、格納できる最小値・最大値は、その格納バイト数に従います。

データ型格納バイト数最小値最大値
tinyint1-128127
smallint2-3276832767
mediumint3-83886088388607
int4-21474836482147483647
bigint8-92233720368547700009223372036854770000

表3:整数型の幅

   なおMySQLは、PostgreSQLがサポートしていない格納バイト数1のtinyint型や、3のmediumint型などの数値データ型をサポートしています。

   また、MySQLの数値データ型は「UNSIGNED」指定ができます。これはPostgreSQLにはありません。UNSIGNED指定を行うと同じ型のデータでもPostgreSQLとMySQLでは格納できる値の範囲が異なりますので注意が必要です。例えば、int型で格納できるデータの範囲は通常-2147483648から+2147483647ですが、MySQLのint型に「UNSIGNED」指定を行うと、0から4294967295になります。

   decimal型とnumeric型は、全桁数と小数点以下桁数を指定できる、「固定小数点値用」のデータ型ですが、PostgreSQLとMySQLでは指定できる最大桁数が異なります。PostgreSQLは全桁数、小数点以下桁数ともに最大1,000を指定できます。MySQLは、全桁数65、小数点以下桁数30が最大です。当然指定桁数の最大値が異なりますので、格納できる値の範囲が異なります。

1   2  3  次のページ


NTTデータ 藤塚 勤也
著者プロフィール
株式会社NTTデータ   藤塚 勤也
基盤システム事業本部 オープンソース開発センタ シニアスペシャリスト。
日本タンデムコンピューターズ(現日本HP)を経て、2003年よりNTTデータにてOSS分野に参画。日頃はオリジナルOSSの開発や、OSSを用いたシステム構築への技術支援に従事。「RDBMS解剖学」(翔泳社)を共著。

INDEX
第1回:同じようで違うデータ型
連載で扱うバージョン
 文字データ型について
 更新時における日付時刻の記録
徹底比較!! PostgreSQL vs MySQLパート2
第1回同じようで違うデータ型
第2回拡張部分によって違いがでてくるSQL文
第3回実は差があるキャラクターセットの違い
第4回PostgreSQLとMySQLに対応したGUIツールを使いこなす
第5回バックアップとリストア
第6回ストアドプロシージャ
第7回トリガ
第8回それぞれが持つビュー機能

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30