MySQL データ型の完全分析

MySQL データ型の完全分析

データ型: 列に格納できるデータとそのデータが実際にどのように格納されるかを定義する基本ルール。

データ型は次の目的で使用されます。

1. 列に保存できるデータを制限できます。たとえば、数値データ型の列は数値のみを受け入れることができます。

2. 内部でより効率的にデータを保存できます。たとえば、数値や日付と時刻の値をテキスト文字列よりも簡潔な形式で保存します。

3. 並べ替え順序を変更できるようにします。たとえば、すべてのデータを文字列として扱うと、1 は 10 より前、10 は 2 より前になります (文字列は辞書順にソートされ、左から 1 文字ずつ比較されます)。数値データ型として、値を正しくソートできます。

1. 文字列データ型

最も一般的に使用されるデータ型で、名前、住所、電話番号などの文字列を格納します。

文字列には、固定長文字列と可変長文字列の 2 つの基本的な種類があります。

固定長文字列: テーブルの作成時に長さが指定される固定長の文字列を受け入れます。固定長列では、指定された文字数を超える文字は許可されず、指定された量のストレージ スペースが割り当てられます。例: CHAR。

可変長文字列: 可変長のテキストを格納します。可変長データ型には、最大長が固定されているものもあれば、完全に可変長であるものもあります。タイプに関係なく、TEXT など、指定されたデータのみが保存されます (余分なデータは保存されません)。

PS: MySQL は、可変長列よりも固定長列をはるかに高速に処理します。また、MySQL では可変長列 (または列の可変部分) のインデックス作成は許可されません。

データ型の説明:

CHAR: 1 ~ 255 文字の固定長文字列。長さは作成時に指定する必要があります。指定しない場合、MySQL は CHAR(1) であると想定します。

ENUM: 最大 64K の文字列の定義済みセットから文字列を受け入れます。

LONGTEXT: TEXT と同じですが、最大長は 4GB です。

MEDIUMTEXT: TEXT と同じですが、最大長は 16K です。

SET: 最大 64 個の文字列の定義済みセットから 0 個以上の文字列を受け入れます。

TEXT: 最大長 64 KB の可変長テキスト。

TINYTEXT: TEXT と同じですが、最大長は 255 バイトです。

VARCHAR: 可変長、255 バイト以下。データの作成時に VARCHAR(n) を指定すると、0 ~ n 文字 (n ≤ 255) の可変長文字列を格納できます。

追伸:

1. 引用符: どの形式の文字列データ型を使用する場合でも、文字列値は引用符 (通常は一重引用符) で囲む必要があります。

2. 従うべき基本的なルール: 値が計算 (合計、平均など) に使用される場合、その値は数値データ型の列に格納されます。値が文字列として使用される場合、文字列データ型の列に格納されます。たとえば、郵便番号 01234 を数値フィールドに保存すると、1 桁が欠落した値 1234 が保存されます。

2. 数値データ型

数値を格納します。 MySQL は複数の数値データ型をサポートしており、それぞれが異なる値の範囲の値を格納します。

サポートされる値の範囲が広いほど、必要なストレージ容量も大きくなります。さらに、一部の数値データ型では小数点 (および小数) の使用がサポートされていますが、他のデータ型では整数のみがサポートされています。表 D-2 に、よく使用される MySQL 数値データ型を示します。

追伸:

1. すべての数値データ型 (BIT と BOOLEAN を除く) は、符号付きまたは符号なしにすることができます。符号付き数値列には正または負の値を格納できますが、符号なし数値列には正の数値のみを格納できます。

2. デフォルトは符号付きです。負の値を保存する必要がない場合は、UNSIGNED を使用すると、2 倍のサイズの値を保存できます。

3. 文字列とは異なり、値は引用符で囲まないでください。

4. MySQL には通貨を保存するための特別なデータ型はありません。通常は DECIMAL(8, 2) が使用されます。

データ型の説明:

BIT: ビット フィールド、1 ~ 64 ビット。 MySQL 5 より前では、BIT は機能的に TINYINT と同等でした。

BIGINT: 整数値。-9223372036854775808 から 9223372036854775807 までをサポートします。 UNSIGNED の場合は 0 から 18446744073709551615 までの数値になります。

BOOLEAN (または BOOL): 0 または 1 のブール フラグ。主にオン/オフ フラグとして使用されます。

DECIMAL (または DEC): 可変精度の浮動小数点値。

DOUBLE: 倍精度浮動小数点値

FLOAT: 単精度浮動小数点値

INT (または INTEGER): 整数値、-2147483648 から 2147483647 をサポート、UNSIGNED は上記と同じです。

MEDIUMINT: 整数値、-8388608 から 8388607 をサポート、UNSIGNED は上記と同じです。

REAL: 4 バイトの浮動小数点値。

SMALLINT: 整数値、-32768 から 32767 をサポート、UNSIGNED は上記と同じです。

TINYINT: 整数値、-128 から 127 をサポート、UNSIGNED は上記と同じです。

3. 日付と時刻のデータ型

データ型の説明:

DATE: 1000-01-01 から 9999-12-31 までの日付を YYYY-MM-DD 形式で示します。

DATETIME: DATE と TIME の組み合わせ。

TIMESTAMP: 機能は DATETIME と同じですが、範囲が狭くなります。

TIME: 形式は HH:MM:SS です。

年: 2 桁、範囲 70 から 69 (1970 から 2069)、4 桁、範囲 1901 から 2155

4. バイナリデータ型

画像、マルチメディア、ワードプロセッサ文書など、あらゆるデータ(バイナリ情報も含む)を保存できます。

データ型の説明:

BLOB: BLOB の最大長は 64 KB です。

MEDIUMBLOB: 最大 BLOB 長は 16 MB です。

LONGBLOB: BLOB の最大長は 4GB です。

TINYBLOB: BLOB の最大長は 255 バイトです。

上記はMySQLデータ型の完全分析の詳細な内容です。MySQLデータ型の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明
  • MySQL ノート: データ型の詳細な説明
  • MySQL データ型の説明
  • MySql データ型チュートリアル例の詳細な説明

<<:  XHTML 入門チュートリアル: XHTML タグ

>>:  VUE ユニアプリテンプレート構文についての簡単な説明

ブログ    

推薦する

JavaScript でオブジェクトのプロパティを削除する方法

1. 削除delete は、オブジェクトのプロパティを残さずに削除する唯一の方法ですが、その「代替」...

MySQL 5.7.17 でパスワードを忘れた場合の対処方法

1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...

フロントエンド制作に関する簡単な議論: 互換性のために IE6 はまだ必要ですか?

国内市場ではIE6~7のサポートに対する一定の需要がまだありますが、フロントエンド開発者として、私た...

レスポンシブレイアウトの概要(推奨)

レスポンシブレイアウト開発の基礎知識この章は主に以下の部分に分かれています• レスポンシブデザインを...

HTML メタタグの小さなコレクション

<Head>……</head> は <HTML> のファイル ヘ...

nginxワーカープロセスループの実装

ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...

MySQL 権限制御の詳細な説明

目次mysql 権限制御権限システムテーブル変更後にMySQLの権限を有効にする方法権限の付与と取り...

高並列処理 nginx サーバー向け Linux カーネル最適化構成の説明

デフォルトの Linux カーネル パラメータは最も一般的なシナリオに基づいており、高い同時アクセス...

LinuxカーネルマクロContainer_Ofの詳細な説明

目次1. 構造体はメモリにどのように保存されますか? 2. container_ofマクロ3. 型4...

Xtrabackup を使用した MySQL バックアップ プロセスの詳細な説明

目次01 背景02 はじめに03 ワークフロー04 いくつかの質問05 ファイルをバックアップする0...

セマフォによるTomcatの異常終了の解決方法

最近はビッグデータで遊んでいます。友人が私のところに来て、オンラインの Tomcat が不可解に終了...

nginx を使用して http を https に変換するサンプルコード

最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必...

Windows 10 の Docker で countly-server を展開して実行するプロセス

私は最近countlyに触れて、慣れてきました。私は、必要に応じてcountlyのクラッシュプラグイ...

JS でオブジェクトが空オブジェクトかどうかを判断する 5 つの方法

1. jsonオブジェクトをjson文字列に変換し、文字列が「{}」であるかどうかを判断します。 v...

Gearman + MySQL による永続化操作例

この記事では、gearman+mysql メソッドを使用して永続化操作を実装します。ご参考までに、詳...