よく使われる3つのMySQLデータ型

よく使われる3つのMySQLデータ型

MySQL のデータ フィールドのタイプを定義することは、データベースを最適化するために非常に重要です。

MySQL はさまざまな型をサポートしており、大まかに数値型、日付/時刻型、文字列 (文字) 型の 3 つのカテゴリに分類できます。

数値型

MySQL はすべての標準 SQL 数値データ型をサポートしています。

これらの型には、厳密な数値データ型 (INTEGER、SMALLINT、DECIMAL、NUMERIC) と近似数値データ型 (FLOAT、REAL、DOUBLE PRECISION) が含まれます。

キーワード INT は INTEGER の同義語であり、キーワード DEC は DECIMAL の同義語です。

BIT データ型はビット フィールド値を格納し、MyISAM、MEMORY、InnoDB、BDB テーブルをサポートします。

SQL 標準の拡張として、MySQL は整数型 TINYINT、MEDIUMINT、および BIGINT もサポートします。次の表は、各整数型に必要なストレージと範囲を示しています。

タイプサイズ範囲(符号付き)範囲(符号なし)使用
小さな1バイト(-128, 127) (0, 255)小さい整数値
スモールイント2バイト(-32 768, 32 767) (0, 65 535)大きな整数値
ミディアムミント3バイト(-8 388 608, 8 388 607) (0, 16 777 215)大きな整数値
INT または INTEGER 4バイト(-2 147 483 648, 2 147 483 647) (0, 4 294 967 295)大きな整数値
ビッグイント8バイト(-9,223,372,036,854,775,808, 9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615)非常に大きな整数値
フロート4バイト(-3.402 823 466 E+38, -1.175 494 351 E-38)、0、(1.175 494 351 E-38、3.402 823 466 351 E+38) 0、(1.175 494 351 E-38、3.402 823 466 E+38)単精度浮動小数点値
ダブル8バイト(-1.797 693 134 862 315 7 E+308, -2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) 0、(2.225 073 858 507 201 4 E-308、1.797 693 134 862 315 7 E+308)倍精度浮動小数点値
小数点DECIMAL(M,D)の場合、M>DであればM+2、そうでなければD+2 MとDの値に依存するMとDの値に依存する小数値

日付と時刻の種類

時間値を表す日付と時刻の型は、DATETIME、DATE、TIMESTAMP、TIME、YEAR です。

各時間タイプには有効な値の範囲と「ゼロ」値があり、これは MySQL が表現できない不正な値を指定するときに使用されます。

TIMESTAMP 型には特別な自動更新機能があり、これについては後ほど説明します。

タイプサイズ(バイト)範囲形式使用
日付3 1000-01-01/9999-12-31年-月-日日付値
時間3 '-838:59:59'/'838:59:59'時:分:秒時間価値または期間
1 1901/2155ええ年の値
日時8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD 時間:分:秒日付と時刻の値が混在している
タイムスタンプ4

1970-01-01 00:00:00/2038

終了時間は2147483647秒、北京時間2038-1-19 11:14:07、グリニッジ時間2038年1月19日03:14:07です。

年 月 日 時 分日付と時刻の混合値、タイムスタンプ

文字列型

文字列型には、CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET などがあります。このセクションでは、これらの型がどのように機能するか、およびクエリでどのように使用するかについて説明します。

タイプサイズ使用
文字0〜255バイト固定長文字列
バルチャー0〜65535バイト可変長文字列
タイニーブロブ0〜255バイト255文字以内のバイナリ文字列
小さなテキスト0〜255バイト短いテキスト文字列
ブロブ0-65 535バイトバイナリ形式の長いテキストデータ
文章0-65 535バイト長いテキストデータ
ミディアムブロブ0-16 777 215 バイトバイナリ形式の中程度の長さのテキストデータ
中テキスト0-16 777 215 バイト中程度の長さのテキストデータ
ロングロブ0-4 294 967 295 バイトバイナリ形式の非常に大きなテキストデータ
長文0-4 294 967 295 バイト大きなテキストデータ

知らせ:

char(n) および varchar(n) の括弧内の n は、バイト数ではなく文字数を表します。たとえば、CHAR(30) は 30 文字を格納できます。

CHAR 型と VARCHAR 型は似ていますが、保存方法と取得方法が異なります。また、最大長や末尾のスペースが保持されるかどうかという点でも異なります。保存または取得中に大文字と小文字の変換は実行されません。

BINARY と VARBINARY は、非バイナリ文字列ではなくバイナリ文字列を含む点を除いて、CHAR と VARCHAR に似ています。つまり、文字列ではなくバイト文字列が含まれます。つまり、文字セットはなく、並べ替えや比較は列値バイトの数値に基づいて行われます。

BLOB は、可変量のデータを保持できるバイナリ ラージ オブジェクトです。 BLOB タイプには、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB の 4 つがあります。それらの違いはストレージ容量です。

TEXT タイプには、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT の 4 つがあります。対応する 4 つの BLOB タイプは最大ストレージ長が異なり、実際の状況に応じて選択できます。

上記は、よく使用される 3 つの MySQL データ型の詳細です。MySQL データ型の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL は information_schema オブジェクトの付与をバイパスし、ERROR 1044 (4200) エラーを報告します
  • MySQLデータベース設計:Pythonを使ったスキーマ操作方法の詳しい解説
  • MySQL 5.7 のパフォーマンスと sys スキーマの監視パラメータの説明 (推奨)
  • エラー mysql テーブル ''performance_schema...解決方法
  • MySQLデータベース分析ツールSchemaSpyの使い方
  • mysql データベース内の information_schema と mysql を削除できますか?
  • MySQLのinformation_schemaデータベースの解析
  • MySQL データ型 DECIMAL の詳細な分析
  • MYSQLについては、データ型と操作テーブルを知る必要があります
  • MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明
  • mysql8.0.19 の基本データ型の詳細な説明
  • MySQL のデータ型とスキーマの最適化の詳細な説明

<<:  vue keepAlive キャッシュクリア問題事例の詳細な説明

>>:  コネクタコンポーネントから Tomcat のスレッドモデルを見る - BIO モード (推奨)

推薦する

Vueのシンプルな状態管理ストアモードを理解する方法

目次概要1. store.jsを定義する2. store.js を使用するコンポーネント3. 成果を...

Mysql 自己結合クエリ例の詳細な説明

この記事では、Mysql の自己結合クエリについて説明します。ご参考までに、詳細は以下の通りです。自...

MySQL 8.0.20 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.20 winx64 のインストールと設定方法を次のように説明します...

HTML 画像 img タグ_Powernode Java アカデミー

まとめプロジェクトの説明形式<img src="..."> H2+ ...

TypeScript のユニオン型、交差型、型ガード

目次1. ユニオンタイプ2. クロスオーバータイプ3. 型保護3.1 カスタム型保護3.2 保護の種...

CSS3のtransform属性で実装される4つの機能

CSS3 では、transform 関数を使用して、テキストや画像の回転、拡大縮小、傾斜、移動という...

MySQLのnull値に関する小さな問題

今日、null 値をテストしていたところ、小さな問題が見つかりました。ここに記録しました。以前にも遭...

今日と昨日の 0:00 タイムスタンプを取得する MySQL の例

以下のように表示されます。昨日: UNIX_TIMESTAMP(CAST(SYSDATE() AS ...

MySQL 8の新機能ウィンドウ関数の役割

MySQL 8.0 の新機能は次のとおりです。 Unicode 9.0 をすぐに完全にサポートウィン...

ログインボックスのメールプロンプトを実装するネイティブJS

この記事では、登録またはログイン時に電子メール アドレスを入力する際のドロップダウン プロンプトのネ...

純粋な CSS3 で美しい入力ボックスアニメーションスタイルライブラリを実現 (テキスト入力愛)

純粋な CSS3 で実装された美しい入力ボックス アニメーション スタイル ライブラリを共有します ...

SQL ステートメント実行の詳細な説明 (MySQL アーキテクチャの概要 -> クエリ実行プロセス -> SQL 解析順序)

序文:私はずっと、SQL 文がどのように、どのような順序で実行されるのかを知りたいと思っていました。...

VueRouterルーティングの詳細な説明

目次vueルーター1. ルーティングの概念を理解する1.1 ルーティングとは何ですか? 1.2. バ...

クラウドサーバーを購入し、Alibaba Cloud に Pagoda Panel をインストールする手順

アリババクラウドがサーバーを購入クラウドサーバーを購入し、サーバーバージョンとしてcentos 7....