質問:MySQLフィールド、unsigned int(3)、およびunsigned int(6)の値の範囲は同じですか?異なる場合、大きさはどれくらいですか? 答え:違いは、int(3)は最大3桁の符号なし整数を表示でき、int(6)は最大6桁の符号なし整数を表示できることです。 あなたの答えが上記と同じであれば、おめでとうございます。あなたは私と同じ間違いを犯したことになります。 現実:int 型の整数は 4 バイトを占めます。符号付き整数の範囲は -2^31 ~ 2^31-1、符号なし整数の範囲は 0 ~ 2^32-1 です。すべて符号なし整数なので、格納範囲は同じです。int(6) は、6 桁未満の数値には 0 を代入します。6 桁を超える数値には代入の必要はありません。 次の表を作成します。 存在する場合はテーブルを削除するテスト。 テーブル「test」を作成します( `id` int(11) NOT NULL AUTO_INCREMENT, `a` int(11) NULLではない、 `b` int(11) 符号なしゼロフィル NOT NULL, `c` int(5) デフォルト NULL, `d` int(5) 符号なしゼロフィル NOT NULL, `e` int(15) デフォルト NULL, 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8mb4; データを挿入した後、cmd コマンドラインを使用して次を表示します。 mysql> テストから * を選択します。 +----+-------------+--------------+-------------+-------------+-------------+ | id | a | b | c | d | e | +----+-------------+--------------+-------------+-------------+-------------+ | 1 | 1 | 00000000001 | 1 | 00001 | 1 | | 2 | 1234567890 | 01234567890 | 1234567890 | 1234567890 | 1234567890 | +----+-------------+--------------+-------------+-------------+-------------+ int(3)とint(6)はどちらも6桁以上の整数を表示できることがわかります。ただし、数字が 3 桁または 6 桁未満の場合は、先頭に 0 が付加されます。 注意: navicat などのツールを使用して表示すると、0 は追加されません。処理されている可能性があります。この効果を確認するには、mysql cmd コマンドラインを使用する必要があります。 マニュアルを確認してください。説明は次のとおりです。 MySQL では、型キーワードの後に括弧で整数値の表示幅を指定するオプションもサポートされています (例: INT(4))。このオプションの表示幅は、指定された列幅よりも表示幅が小さい場合に、表示幅を左から埋めることを指定します。表示幅は、列に保持できる値の範囲を制限するものではなく、指定された列の幅を超える値の表示を制限するものでもありません。 つまり、int の長さはデータの格納精度には影響しません。長さは表示にのみ関係します。わかりやすくするために、上記の例ではテーブル作成ステートメントで zerofill を使用しました。 知識ポイントint(M)のMは最大表示幅を表します。有効な最大表示幅は255で、表示幅はストレージサイズや型に含まれる値の範囲とは関係ありません。 まず、MySQL の数値型について説明します。MySQL は、すべての標準 SQL 数値データ型をサポートしています。これらの型には、厳密な数値データ型 (INTEGER、SMALLINT、DECIMAL、NUMERIC) と近似数値データ型 (FLOAT、REAL、DOUBLE PRECISION) が含まれます。キーワード INT は INTEGER の同義語であり、キーワード DEC は DECIMAL の同義語です。 BIT データ型はビット フィールド値を格納し、MyISAM、MEMORY、InnoDB、および BDB テーブルでサポートされています。 SQL 標準の拡張として、MySQL は整数型 TINYINT、MEDIUMINT、および BIGINT もサポートします。次の表は、各整数型に必要なストレージと範囲を示しています。 結論は:unsigned int(3)でもunsigned int(6)でも、0~2^32の4バイトの符号なし整数を格納します。 要約するMySQLのint(3)とint(10)の値の範囲は同じかどうかについてのこの記事はこれで終わりです。mysqlのint(3)とint(10)の値の範囲についてさらに詳しく知りたい方は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
アプリケーションシナリオ1: ドメイン名ベースのリダイレクト会社の古いドメイン名は www.accp...
目次1. MacへのDockerのインストール2. Win 10 システムでの Docker のイン...
目次NULLとは何か2種類のNULLなぜ「= NULL」ではなく「IS NULL」と書く必要があるの...
一部の MySQL テーブルには重複レコードが含まれている場合があります。重複データが存在することを...
序文MySQL 5.7.11 以降、MySQL は、別の表領域に格納された InnoDB テーブルの...
HTML と CSS を含む JD.com のホームページの静的ページ効果を 3 日間で完成させます...
Web 標準に準拠した Web ページの構築は、jb51.net が常に全員と議論しているトピックで...
目次1. sysbenchの紹介#プロジェクトダウンロードアドレス: 2. Sysbenchのインス...
SQL Server のバッチコメントバッチ注釈Ctrl + (K, C): Ctrlキーを押しなが...
1. はじめにイメージマップを使用すると、画像の領域をホットスポットとして指定できます。この領域にマ...
目次1. 手順1. ボタンの権限を定義する2. ストアを定義する3. 権限指示を作成する4. パーミ...
DPlayer.jsビデオプレーヤープラグインは使いやすい主な用途: ビデオの再生、監視の開始、終了...
1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...
1. 機能紹介sed (Stream EDitor) は、コンテンツを 1 行ずつ処理するストリーム...
インタビュアー: Vue のソースコードを読んだことはありますか?応募者:あります。インタビュアー:...