mysqlのフィールドタイプとは何ですか?
mysql フィールド タイプには 5 つのタイプがあります: 1. 整数タイプ、主に INT、BIGINT、TINYINT などの整数を格納するために使用されます; 2. 浮動小数点数および固定小数点数タイプ、 10 進数を格納、浮動小数点数は FLOAT と DOUBLE、固定小数点数には DECIMAL が含まれます; 3. 文字列型、文字列データなどの格納に使用されます。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
データベース内のすべてのフィールドには、その列に格納されるデータを制限または許可する適切なデータ型が必要です。たとえば、フィールドに数値が格納されている場合、対応するデータ型は数値である必要があります。
間違ったデータ型を使用すると、アプリケーションの機能やパフォーマンスに重大な影響を与える可能性があるため、テーブルを設計するときは、データ列で使用されるデータ型に特に注意する必要があります。データを含む列を変更することは簡単なことではないため、変更するとデータが失われる可能性があります。したがって、テーブルの作成時に各列に正しいデータ型と長さを設定する必要があります。
MySQL フィールドのデータ型は、整数型、浮動小数点型と固定小数点型、日時型、文字列型、バイナリ型などの 5 種類に大別できます。
注: 整数型と浮動小数点型を総称して数値データ型と呼ぶ場合があります。
1. 整数型
整数型は数値データとも呼ばれ、主に整数を格納するために使用されます。数字。
MySQL はさまざまな数値データ型を提供します。データ型が異なれば、値の範囲も異なります。保存できる値の範囲が大きくなるほど、必要な記憶域も大きくなります。
MySQL が提供する主な整数型は、TINYINT、SMALLINT、MEDIUMINT、INT、および BIGINT であり、それらの属性フィールドに AUTO_INCREMENT 自動インクリメント制約を追加できます。次の表に、MySQL の数値型を示します。
説明 | ストレージ要件 | |
---|---|---|
小さな整数 | 1バイト | |
小さな整数 | 2バイト | |
中サイズの整数 | 3 バイト | |
通常のサイズの整数 | # #4 バイト | |
大きな整数 | 8 バイト |
各データ型の値の範囲は、占有バイト数に基づいて確認できます。たとえば、TINYINT の格納に 1 バイト (8 ビット) が必要な場合、TINYINT 符号なし数値の最大値は 28-1 (つまり 255) となり、TINYINT 符号付き数値の最大値は 27-1 (つまり 127) になります。
2. 浮動小数点型と固定小数点型MySQL は浮動小数点と固定小数点数を使用して小数を表します。
浮動小数点型には、単精度浮動小数点数 (FLOAT) と倍精度浮動小数点数 (DOUBLE) の 2 つがあり、固定小数点型は DECIMAL の 1 つだけです。
浮動小数点型と固定小数点型はどちらも (M, D) で表すことができます。M は精度と呼ばれ、総桁数を示します。D はスケールと呼ばれ、10 進数の桁数を示します。 。
浮動小数点数型の値の範囲は、表示幅と小数点以下の桁数をそれぞれ表す M (1 ~ 255) と D (1 ~ 30、M-2 を超えることはできません) です。 FLOAT および DOUBLE では M および D はオプションであり、FLOAT および DOUBLE 型はハードウェアがサポートする最大精度で保存されます。 DECIMAL のデフォルトの D 値は 0、M 値は 10 です。
次の表に、MySQL の 10 進数の型とストレージ要件を示します。
ストレージ要件 | FLOAT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4バイト | DOUBLE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8バイト | DECIMAL (M, D), DEC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
M 2 バイト |
タイプ名 | 日付形式 | 日付範囲 | ストレージ要件 | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
年 | YYYY | 1901 ~ 2155 | 1バイト | ||||||||||||||||||||||||||||||||||||||||||||||||||
TIME | HH :MM :SS | -838:59:59 ~ 838:59:59 | 3 バイト | ||||||||||||||||||||||||||||||||||||||||||||||||||
DATE | YYYY-MM -DD | 1000-01-01 ~ 9999-12-3 | 3 バイト | ||||||||||||||||||||||||||||||||||||||||||||||||||
DATETIME | YYYY-MM- DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8 バイト | ||||||||||||||||||||||||||||||||||||||||||||||||||
YYYY-MM-DD HH:MM:SS | 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | #4 バイト | ## |
説明 | ストレージ要件 | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
固定長の非バイナリ文字列 | M バイト、1<=M<=255 | |||||||||||||||||||||||||
可変長の非バイナリString | L 1 バイト、L<=M および 1<=M<=255 | |||||||||||||||||||||||||
非常に小さい非バイナリ文字列 | L 1 バイト、L | |||||||||||||||||||||||||
小さな非バイナリ文字列 | L 2 バイト、L#16 | ##MEDIUMTEXT | ||||||||||||||||||||||||
L 3 バイト、L | LONGTEXT | |||||||||||||||||||||||||
L 4 バイト、ここでは L<2^32 | ENUM | |||||||||||||||||||||||||
列挙値の数に応じて 1 バイトまたは 2 バイト (最大値は 65535) | SET | |||||||||||||||||||||||||
1、2、3、4、または 8 バイト (設定に応じて)セットメンバーの数 (最大 64 メンバー) |
VARCHAR 型と TEXT 型は可変長型であり、その記憶域要件は、型の最大可能サイズではなく、列値の実際の長さ (上の表では L で示されています) に依存します。 たとえば、VARCHAR(10) 列には、最大 10 文字の文字列を格納できます。実際の格納には、文字列の長さ L に、文字列の長さを記録するための 1 バイトを加えたものが必要です。文字「abcd」の場合、L は 4 であり、記憶域には 5 バイトが必要です。 CHAR 型と VARCHAR 型 CHAR(M) は固定長文字列であり、文字列の列長は定義時に指定します。保存すると、指定された長さまで右側にスペースが埋め込まれます。 M は列の長さを表し、範囲は 0 ~ 255 文字です。 たとえば、CHAR(4) は、最大 4 文字を含む固定長の文字列列を定義します。 CHAR 値を取得すると、末尾のスペースが削除されます。 VARCHAR(M) は可変長文字列で、M は最大列の長さを表し、M の範囲は 0 ~ 65535 です。 VARCHAR の実際の最大長は、最も長い行のサイズと使用される文字セットによって決まりますが、実際に占有されるスペースは、文字列の実際の長さに 1 を加えたものになります。 たとえば、VARCHAR(50) は、最大長 50 の文字列を定義します。挿入された文字列が 10 文字しかない場合、実際に格納される文字列は 10 文字と文字列の終わりの文字になります。 VARCHAR の末尾のスペースは、値の保存および取得時に保持されます。 TEXT 型 TEXT 列には、記事のコンテンツやコメントなどの非バイナリ文字列が格納されます。 TEXT 列の値を保存またはクエリするときに、末尾のスペースは削除されません。 TEXT タイプは、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT の 4 つのタイプに分類されます。 TEXT タイプが異なれば、記憶領域とデータ長も異なります。
ENUM 型 ENUM は、テーブルの作成時に列仕様で列挙された列値を値とする文字列オブジェクトです。構文形式は次のとおりです。 <字段名> ENUM( '值1', '值1', …, '值n' ) ログイン後にコピー フィールド名は定義するフィールドを指し、値 n は列挙リストの n 番目の値を指します。 タイプ ENUM のフィールドがフェッチされる場合、そのフィールドは指定された列挙リストからフェッチできますが、一度にフェッチできるのは 1 つだけです。作成されたメンバーにスペースが含まれている場合、末尾のスペースは自動的に削除されます。 ENUM 値は内部的に整数で表されます。各列挙値にはインデックス値があります。リスト値で許可されるメンバー値には 1 から始まる番号が付けられます。MySQL はこのインデックス番号を保存します。列挙値にはインデックス値を含めることができます。最大 65535 要素。 SET タイプ SET は、0 個以上の値を持つことができる文字列オブジェクトです。SET 列には、最大 64 個のメンバーを含めることができます。値は、テーブルが作成されました。指定された値のリスト。複数の SET メンバーを含む SET 列の値を指定する場合は、各メンバーをカンマで区切ります。構文形式は次のとおりです: SET( '值1', '值2', …, '值n' ) ログイン後にコピー は ENUM 型と同じです。SET 値は内部的に整数で表されますリスト値の各メンバーにはインデックス番号があります。 SET メンバー値の末尾のスペースは、テーブルの作成時に自動的に削除されます。 ただし、ENUM 型とは異なり、ENUM 型フィールドは定義された列の値から 1 つの値しか選択して挿入できませんが、SET 型の列は定義された列の値から複数の文字の結合を選択できます。
5. バイナリ型 MySQL は、テキスト文字列とバイナリ文字列の 2 種類の文字データをサポートします。前のセクション「MySQL 文字列型」ではテキスト文字列について説明しましたが、このセクションではバイナリ文字列について説明します。
MySQL のバイナリ文字列は、BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB です。 次の表は、MySQL のバイナリ データ型を示しています。括弧内の M は、長さを指定できることを示します。
BIT 类型 位字段类型。M 表示每个值的位数,范围为 1~64。如果 M 被省略,默认值为 1。如果为 BIT(M) 列分配的值的长度小于 M 位,在值的左边用 0 填充。例如,为 BIT(6) 列分配一个值 b'101',其效果与分配 b'000101' 相同。 BIT 数据类型用来保存位字段值,例如以二进制的形式保存数据 13,13 的二进制形式为 1101,在这里需要位数至少为 4 位的 BIT 类型,即可以定义列类型为 BIT(4)。大于二进制 1111 的数据是不能插入 BIT(4) 类型的字段中的。 提示:默认情况下,MySQL 不可以插入超出该列允许范围的值,因而插入数据时要确保插入的值在指定的范围内。 BINARY 和 VARBINARY 类型 BINARY 和 VARBINARY 类型类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字节字符串。使用的语法格式如下: 列名称 BINARY(M) 或者 VARBINARY(M) ログイン後にコピー BINARY 类型的长度是固定的,指定长度后,不足最大长度的,将在它们右边填充 “\0” 补齐,以达到指定长度。例如,指定列数据类型为 BINARY(3),当插入 a 时,存储的内容实际为 “\a0\0”,当插入 ab 时,实际存储的内容为“ab\0”,无论存储的内容是否达到指定的长度,存储空间均为指定的值 M。 VARBINARY 类型的长度是可变的,指定好长度之后,长度可以在 0 到最大值之间。例如,指定列数据类型为 VARBINARY(20),如果插入的值长度只有 10,则实际存储空间为 10 加 1,实际占用的空间为字符串的实际长度加 1。 BLOB 类型 BLOB 是一个二进制的对象,用来存储可变数量的数据。BLOB 类型分为 4 种:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB 【相关推荐:mysql视频教程】 |
以上がmysqlのフィールドタイプとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLをエレガントにインストールするための鍵は、公式のMySQLリポジトリを追加することです。特定の手順は次のとおりです。MYSQLの公式GPGキーをダウンロードして、フィッシング攻撃を防ぎます。 mysqlリポジトリファイルを追加:rpm -uvh https://dev.mysql.com/get/mysql80-community-rease-el7-3.noarch.rpm update yumリポジトリキャッシュ:yumアップデートインストールmysql:yumインストールmysql-server startup mysql sportin
