1. 数値型1.1 数値型の分類
MySQL の数値型:
1.1.1 浮動小数点数浮動小数点数の場合、精度とスケールが記述されていない場合は、実際の精度値に従って表示されます。精度とスケールが記述されている場合は、丸められた結果が自動的に挿入され、システムはエラーを報告しません。固定小数点数の場合、精度とスケールが記述されていない場合は、デフォルト値の 1.1.2 ビットタイプBIT (ビット) タイプ: 範囲は 1 ~ 64 です。設定されていない場合、デフォルトは 1 ビットです。このフィールドでは、select コマンドを直接使用しても結果は表示されません。bin() (バイナリ形式で表示) または hex() (16 進形式で表示) 関数を使用して読み取ることができます。 例: mysql> desc t2; +-------+--------+------+------+--------+-------+ | フィールド | タイプ | Null | キー | デフォルト | 追加 | +-------+--------+------+------+--------+-------+ | id | ビット(1) | はい | | NULL | | +-------+--------+------+------+--------+-------+ セット内の 1 行 (0.00 秒) mysql> t2 に値を挿入します(1); クエリは正常、1 行が影響を受けました (0.05 秒) mysql> t2 から * を選択します。 +------+ |id| +------+ | | +------+ セット内の 1 行 (0.00 秒) mysql> t2 から bin(id),hex(id) を選択します。 +---------+---------+ | bin(id) | hex(id) | +---------+---------+ | 1 | 1 | +---------+---------+ セット内の1行(0.03秒)
たとえば、今テーブルに 2 を挿入すると、実際のバイナリ値は 10 になり、 mysql> t2 に値を挿入します(2); エラー 1406 (22001): 行 1 の列 'id' のデータが長すぎます mysql> テーブル t2 を変更して ID ビットを変更します(2); クエリは正常、1 行が影響を受けました (0.67 秒) 記録: 1 重複: 0 警告: 0 mysql> t2 に値を挿入します(2); クエリは正常、1 行が影響を受けました (0.03 秒) mysql> t2 から bin(id),hex(id) を選択します。 +---------+---------+ | bin(id) | hex(id) | +---------+---------+ | 1 | 1 | | 10 | 2 | +---------+---------+ セット内の 2 行 (0.00 秒) 1.1.3 時間と日付の種類1.1.3 時間と日付の種類
例1:日付、時刻、日時の3つの日付タイプを持つタイムテーブル(dt)を作成し、値を挿入して表示される結果を確認します。 mysql> テーブル dt(d 日付、t 時刻、dt 日付時刻) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.23 秒) mysql> dt に値を挿入します (now(),now(),now()); クエリは正常、1 行が影響を受け、1 つの警告 (0.05 秒) mysql> dt から * を選択します。 +------------+----------+---------------------+ | d | t | dt | +------------+----------+---------------------+ | 2021-05-13 | 10:14:07 | 2021-05-13 10:14:07 | +------------+----------+---------------------+ セット内の 1 行 (0.00 秒) 例2:テストテーブルtを作成し、フィールドid1をTIMESTAMP型に設定し、null値を挿入して表示する mysql> テーブル t(id1 タイムスタンプ) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.22 秒) mysql> t 値に挿入します(null); クエリは正常、1 行が影響を受けました (0.05 秒) mysql> t から * を選択します。 +---------------------+ | id1 | +---------------------+ | 2021-05-13 10:18:05 | +---------------------+ セット内の 1 行 (0.00 秒) システムが id1 のデフォルト値 例3:上記の説明と同じ mysql> テーブル t を変更し、列 id2 タイムスタンプを追加します。 クエリは正常、影響を受けた行は 0 行 (0.48 秒) レコード: 0 重複: 0 警告: 0 mysql> show テーブル t \G; ************************** 1. 行 **************************** 表: t テーブルの作成: CREATE TABLE `t` ( `id1` タイムスタンプ NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP、 `id2` タイムスタンプ NULL ではない デフォルト '0000-00-00 00:00:00' ) エンジン=InnoDB デフォルト文字セット=latin1 セット内の 1 行 (0.00 秒) エラー: クエリが指定されていません 1.1.4 文字列型
例: mysql> テーブルvarc(v varchar(4),c char(4))を作成します。 クエリは正常、影響を受けた行は 0 行 (0.20 秒) mysql> varc に値を挿入します ('abc ','abc '); クエリは正常、1 行が影響を受けました (0.03 秒) mysql> varc から length(v),length(c) を選択します。 +-----------+------------+ | 長さ(v) | 長さ(c) | +-----------+------------+ | 4 | 3 | +-----------+------------+ セット内の1行(0.01秒) mysql> varc から concat(v,'+'),concat(c,'+') を選択します。 +---------------+---------------+ | 連結(v,'+') | 連結(c,'+') | +---------------+---------------+ | abc + | abc+ | +---------------+---------------+ セット内の 1 行 (0.00 秒)
例: mysql> テーブルbina(c binary(3))を作成します。 クエリは正常、影響を受けた行は 0 行 (0.22 秒) mysql> t に挿入し、c='a' を設定します。 エラー 1054 (42S22): 「フィールド リスト」に不明な列 'c' があります mysql>binaにc='a'とセットで挿入します。 クエリは正常、1 行が影響を受けました (0.05 秒) mysql> bina から *,hex(c),c='a',c='a\0',c='a\0\0' を選択します。 +------+--------+--------+---------+-----------+ | c | 16進数(c) | c='a' | c='a\0' | c='a\0\0' | +------+--------+--------+---------+-----------+ | 610000 | 0 | 0 | 1 | +------+--------+--------+---------+-----------+ セット内の 1 行 (0.00 秒)
1.1.5 ENUM型
例: mysql> テーブル gend(性別 enum('M','F')) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.20 秒) mysql> gend に値 ('M'),('F'),('1'),(null); を挿入します。 クエリは正常、4 行が影響を受けました (0.03 秒) 記録: 4 重複: 0 警告: 0 mysql> gendから*を選択します。 +--------+ |性別| +--------+ | マ | | ふ | | マ | | NULL | +--------+ セット内の 4 行 (0.00 秒) このことから、列挙型の値を挿入するときには大文字と小文字は無視され、最初の添え字は 1 から始まることがわかります。クエリを実行すると大文字に変換され、null も挿入される可能性があります。 1.1.6 SET型
1 バイトを占める 1 ~ 8 個のメンバーのセット。 例: mysql> テーブル st(col set('a','b','c','d')) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.20 秒) mysql> st に値 ('a,b')、('a,d,a')、('a,c')、('a') を挿入します。 クエリは正常、4 行が影響を受けました (0.03 秒) 記録: 4 重複: 0 警告: 0 mysql> st に値を挿入します('f'); エラー 1265 (01000): 行 1 の列 'col' のデータが切り捨てられました mysql> st に値 (null) を挿入します。 クエリは正常、1 行が影響を受けました (0.03 秒) mysql> st から * を選択します。 +------+ | 列 | +------+ | a,b | | a,d | | ア、ハ | | ア | | NULL | +------+ セット内の行数は 5 です (0.00 秒) このことから、set は複数のメンバーを挿入でき、null も挿入できることがわかります。存在しない定義列を挿入すると、例外が報告され、挿入は失敗します。 以下もご興味があるかもしれません:
|
<<: LinuxでIPアドレスを手動で設定するための詳細な手順
>>: ダウンロードにおすすめの氷と雪のフォント 33 種類 (個人用および商用)
MySQL ストアド プロシージャは、確かに、非常にまれな使用シナリオのように見えます。この問題は、...
この記事の例では、画像のドラッグアンドドロップ機能を実現するためのVueの具体的なコードを参考までに...
エラー メッセージ:ストアの更新、挿入、または削除ステートメントが予期しない行数 (0) に影響を与...
目次メモリプールの概要1. nginxデータ構造2. nginxはOSからスペースngx_creat...
<br />ソース コード内で表の構造を明確に区別するために、HTML 言語では、表のヘ...
目次(I) Workbenchを使用してデータベースを操作する①データベースを作成する② データベー...
この記事の例では、ログイン機能を実現するためのvue+springbootの具体的なコードを参考まで...
コードは次のようになります。 SELECT @i:=@i+1 行番号、 if(@total=t.s_...
Linux サーバーで作業している場合、ネットワーク カード/イーサネット カードに静的 IP アド...
Windows または Linux オペレーティング システムをインストールするかどうかに関係なく、...
この記事では、例を使用して、MySQL の結合クエリ、結合クエリ、サブクエリの原理と使用方法を説明し...
画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...
1. ユーザーとパスワードの作成方法1. MySQLデータベースに入る mysql> mysq...
今日この問題に遭遇しました。サーバー側でiframeのsrc値を再割り当てし、iframeにIDを追...
序文まずは最終的な効果を見てみましょう。私が自分で作った小さなデモです。まずEChartsの公式サイ...