国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

MySQLのデータ型

MySQL はデータを保存します。データであればデータの種類を特定させていただきます。テーブルのフィールドには特定のデータ型が指定されています。次に、対応するデータ型を挿入データで使用する必要があります。また、データ型の長さの要件に従ってください。

MySQL では、データ型を次の型に分類します:

  1. 數(shù)値型 (整數(shù)、浮動小數(shù)點)
  2. 文字列型
  3. 日付と時刻型
  4. 複合型
  5. 空間型 (非科學的作業(yè) 基本的に必要ありません) 、説明なし)

整數(shù)型

MySQLデータ型占有バイト數(shù)値の範囲
tinyint1バイト-128~127
smallint2バイト-32768~32767
mediumint3バイト-8388608?8388607
int4バイトRange-2147483 648~2147483647
bigint8バイト+ -9.22*10の18乗

整數(shù)の長さが異なり、実際の使用プロセスも異なります。

MySQL は、オプションの表示幅インジケーターの形式で SQL 標準を拡張し、データベースから値を取得するときに、値を指定された長さまで延長できるようにします。たとえば、フィールドのタイプを INT(6) として指定すると、データベースから取得するときに 6 桁未満の値が自動的にスペースで埋められます。幅インジケーターを使用しても、フィールドのサイズや格納できる値の範囲には影響しないことに注意してください。

注:

    テーブルフィールドを作成するとき、性別を表すために符號なしの小さな整數(shù) (tinyint) を使用できます。女性を表すには 0 を使用し、男性を表すには 1 を使用します。不明を表すには 2 を使用します。
  1. 人間の年齢と同様に、テーブルフィールドを作成するときに符號なし整數(shù)を使用できます。実際に使用される人間の年齢
  2. には負の數(shù)はないからです。私たちのビジネスで保存する必要がある最大の価値は何ですか。テーブルを作成するときは、そのような値を格納するタイプを選択します。 floatingポイントタイプタイプタイプ

mysqlデータ型bytes占領下Valuerangedouble(m, d)decimal(m, d)10 進數(shù)は a文字列として保存された浮動小數(shù)點數(shù)

注:

  1. 浮動小數(shù)點は不正確な値であり、不正確な可能性があります
  2. そして、10進數(shù)は固定小數(shù)點數(shù)と呼ばれます。 MySQL 內では、基本的に文字列として保存されます。実際の使用において、金額や金額の精度に対する要求が比較的高い浮動小數(shù)點數(shù)ストレージがある場合は、10 進數(shù) (固定小數(shù)點數(shù)) 型を使用することをお勧めします。

文字型

float(m、d)4バイテスル精度フローティングポイントタイプ、m総數(shù)、小數(shù)點以下 d 桁
8 バイト倍精度浮動小數(shù)點型、合計 m 個、小數(shù)點以下 d 桁
MySQLデータ型占有バイト數(shù)値の範囲
CHAR0-255バイト固定長文字列
VARCHAR 0 ~ 255 バイト可変長文字列
TINYBLOB0-255バイト255文字以下のバイナリ文字列
TINYTEXT0-255バイト短いテキスト文字列
ブロブ0 -65535 バイトバイナリ形式の長いテキスト データ
TEXT0-65535 バイト長いテキスト データ
MEDIUMBLOB 0-16 777 215 バイトmeバイナリ形式のミディアム長のテキストデータ
MEDIUMTEXT0-16 777 215バイト中長テキストデータ
LOGNGBLOB0-4 294 967 295バイトバイナリ形式の非常に大きなテキストデータ
長文0 -4 294 967 295 バイト 非常に大きなテキスト データ
VARBINARY(M) 0-M バイトの固定長バイトが許可されます 文字列の長さ 値 + 1 バイト
BINARY(M )Mは、0-M バイトの固定長バイト文字列を許可します

*CHAR * 型は固定長文字列に使用され、かっこ內のサイズ修飾子を使用して定義する必要があります。このサイズ修飾子の範囲は 0 ~ 255 です。指定した長さより大きい値は切り捨てられ、指定した長さより小さい値はスペースで埋められます。
*VARCHAR * 長さが不足しない場合は、このサイズを値のサイズとして扱います。一方、VARCHAR 型はそれを最大値として扱い、文字列を格納するために実際に必要な長さのみを使用します
型にはスペースが埋め込まれませんが、インジケーターより長い値は切り捨てられます。 VARCHAR 型は実際の內容に基づいて格納される値の長さを動的に変更できるため、フィールドに必要な文字數(shù)が不明な場合に VARCHAR 型を使用すると、ディスク領域を大幅に節(jié)約し、ストレージ効率を向上させることができます。

テキスト型と BLOB 型フィールド長の要件が 255 を超える場合、MySQL は TEXT と BLOB の 2 つの型を提供します。これらはすべて、保存されたデータのサイズに応じて異なるサブタイプを持ちます。これらの大きなデータは、テキスト ブロックや、畫像やサウンド ファイルなどのバイナリ データ タイプを保存するために使用されます。 TEXT 型と BLOB 型には、分類と比較に違いがあります。 BLOB 型では大文字と小文字が區(qū)別されますが、TEXT では大文字と小文字が區(qū)別されません。サイズ修飾子は、さまざまな BLOB および TEXT サブタイプでは使用されません。

時間タイプ

MySQLデータタイプ日付時間 日時タイムスタンプ年注:
占有バイト數(shù)値の範囲
3バイト日付、形式: 2014-09-18
3バイト時間、形式: 08:42:30
8バイト日時、形式: 2014-09-18 08:42:30
4バイト 自動的に保存レコードの変更時刻
1バイト

Time型はWebシステムではめったに使用されず、多くの人が好んで使用します。時刻を保存するにはintを使用します。挿入する場合、この方法の方が計算に便利であるため、UNIX タイムスタンプが挿入されます。フロントエンド ビジネスで日付型関數(shù)を使用して、UNIX タイムスタンプを人々が認識できる時間に変換します。
  1. 実際の狀況に応じて上記の型を選択できます
  2. データベース管理で閲覧しやすくするために、日時型を使用して時刻を保存する人もいます。
  3. 複合型

MySQLデータ型setenum

ENUM タイプではコレクションから 1 つの値のみを取得できますが、SET タイプではコレクションから任意の數(shù)の値を取得できます。

ENUM 型

ENUM 型は、セット內で 1 つの値しか取得できないため、単一オプションに似ています。人間の性別など、相互に排他的なデータを扱う場合に理解しやすくなります。 ENUM タイプのフィールドは、コレクションから値を取得することも、null 値を使用することもできます。他の入力では、MySQL によって空の文字列がフィールドに挿入されます。さらに、挿入された値の大文字と小文字がコレクション內の値の大文字と小文字が一致しない場合、MySQL は挿入された値の大文字と小文字を自動的に使用して、コレクションの大文字と小文字が一致する値に変換します。

ENUM タイプはシステム內部に數(shù)値として保存でき、1 から始まる數(shù)値でインデックスが付けられます。 ENUM タイプには最大 65536 個の要素を含めることができ、そのうちの 1 つはエラー情報を保存するために MySQL によって予約されており、このエラー値はインデックス 0 または空の文字列で表されます。

MySQL は、ENUM 型コレクションに表示される値を正當な入力とみなし、その他の入力は失敗します。これは、空の文字列または対応する數(shù)値インデックス 0 を含む行を検索することで、エラーのあるレコードの場所を簡単に見つけることができることを示しています。

SET タイプ SET タイプは ENUM タイプと似ていますが、同じではありません。 SET タイプは、事前定義されたコレクションから任意の數(shù)の値を取得できます。また、ENUM タイプと同様に、SET タイプのフィールドに事前定義されていない値を挿入しようとすると、MySQL は空の文字列を挿入します。正當な要素と違法な要素の両方を含むレコードを挿入すると、MySQL は正當な要素を保持し、違法な要素を削除します。

SET タイプには最大 64 個の要素を含めることができます。 SET 要素では、値は、対応する要素を表す「ビット」の離散シーケンスとして格納されます。ビットは、要素の順序付けられたコレクションを作成するためのシンプルかつ効率的な方法です。
また、重複した要素も削除されるため、SET 型に 2 つの同一の要素を含めることはできません。
SET タイプのフィールドから不正なレコードを見つけるには、空の文字列またはバイナリ値 0 を含む行を探すだけです。

型の使用法

非常に多くの型を學習しました。テーブル ステートメントを作成するときは、対応する型を使用するだけです。

例:

CREATE TABLE IF NOT EXISTS demo (demo (
   id int(11) NOT NULL,
   username varchar(50) NOT NULL,
   password char(32) NOT NULL,
   content longtext NOT NULL,
   createtime datetime NOT NULL,
   sex id int(11) NOT NULL,
username varchar(50) ) NOT NULL,

password char(32) NOT NULL,?? content longtext NOT NULL,?? createtime datetime NOT NULL,?? sex tinyint(4) NOT NULL?? ) ENGINE=InnoDB DEFAULT CHARSET=utf8;??

フィールドのその他の屬性設定

UNSIGNED(符號なし)主に整數(shù)型と浮動小數(shù)點型に使用され、unsignedを使用します。つまり、前に - (マイナス記號) がありません。
保存桁數(shù)が長くなります。 tinyint integer の値の範囲は -128 ~ 127 です。 unsigned を使用した後は、0 ~ 255 の長さを保存できます。

作成するときは、整數(shù)または浮動小數(shù)點フィールドのステートメントに従います:

unsigned

ZEROFILL (0パディング) 0 (スペースではない) を使用して出力値を補完できます。この修飾子を使用して、MySQL データベースに負の値が格納されないようにします。

作成するときは、整數(shù)または浮動小數(shù)點フィールドのステートメントに従います。

zerofill

defaultデフォルト屬性は、値が利用できない場合に確実に定數(shù)値が割り當てられるようにします。これは、MySQL がそうするためです。関數(shù)または式の値を挿入することはできません。さらに、このプロパティは BLOB 列または TEXT 列では使用できません。この列に NULL 屬性が指定されている場合、デフォルト値が指定されていない場合、デフォルト値は NULL になります。それ以外の場合、デフォルト値はフィールドのデータ型によって異なります。

次の整數(shù)または浮動小數(shù)點フィールドステートメントを使用して作成します:

default 'value'

not null 列がnot nullとして定義されている場合、列にnull値を挿入することは許可されません。必要な値がすべてクエリに渡されたことを基本的に検証できるため、重要な狀況では常に not null 屬性を使用することをお勧めします。

作成時は、整數(shù)または浮動小數(shù)點フィールドのステートメントに従います:

not null

null 列に null 屬性を指定すると、行內の他の列が指定されているかどうかに関係なく、その列は空のままにすることができます。充填。 null は正確には「なし」を意味し、空の文字列や 0 ではないことに注意してください。

作成時に整數(shù)または浮動小數(shù)點フィールドのステートメントの後に not null を宣言しないでください。

學び続ける
<small id="0a0go"><code id="0a0go"></code></small>
説明
set typeset(“member”, “member2”, … “member64”)
列挙型enum(“member1”, “member2”, … “member65535”)