正式に開始する前に、次の図に示すように、MySQL サーバーの構成とバージョン番号情報を確認しましょう。 「軍隊が移動する前に、食料と飼料を準備する必要があります。」関連する構成を読んだ後、テスト テーブルとテスト データを作成しましょう。 -- person テーブルが存在する場合は、まずそれを削除します。DROP TABLE IF EXISTS person; -- ユーザー名フィールドが空になる person テーブルを作成し、通常のインデックスを設定します CREATE TABLE person ( id INT 主キー auto_increment, 名前 VARCHAR(20)、 モバイルVARCHAR(13)、 インデックス(名前) )ENGINE='innodb'; -- person テーブルにテストデータを追加します insert into person(name,mobile) values('Java','13333333330'), ('MySQL','13333333331'), ('Redis','13333333332'), ('カフカ','13333333333'), (「春」、「13333333334」)、 ('MyBatis','13333333335'), ('RabbitMQ','13333333336'), ('Golang','13333333337'), (NULL、'13333333338')、 (NULL、'13333333339'); 人から*を選択します。 構築されたテスト データを次の図に示します。 データが揃ったので、列に 1. カウントデータが失われる列に personからcount(*),count(name)を選択します。 クエリの実行結果は次のとおりです。 上記の結果から、 解決列に 追加知識: count(constant) を使わない
2. 明確なデータ損失
person から count(distinct name,mobile) を選択します。 クエリの実行結果は次のとおりです。 データベースの元データは次のとおりです。 上記の結果から、携帯電話番号列の 10 個のデータはすべて異なるが、クエリ結果は 8 であることがわかります。 3.データ損失を選択列に 名前が「Java」に等しいデータを除くすべてのデータをクエリする必要があります。 期待される結果は、ID が 2 から 10 までのデータです。 ただし、次のクエリを実行すると: select * from person where name<>'Java' order by id; -- または select * from person where name!='Java' order by id; クエリ結果は次のとおりです。 2 つの 解決上記の問題を解決するには、クエリ結果に select * from person where name<>'Java' or isnull(name) order by id; 最終的な実行結果は次のとおりです。 4. Nullポインタ例外が発生する列に まず、テーブルとテストデータを作成しましょう。 -- goods テーブルが存在する場合は、まずそれを削除します。DROP TABLE IF EXISTS goods; -- 商品テーブルを作成する CREATE TABLE goods ( id INT 主キー auto_increment, 数値整数 )ENGINE='innodb'; -- テストデータを商品テーブルに追加します。 insert into goods(num) values(3),(6),(6),(NULL); 商品から*を選択します。 表の元のデータは次のとおりです。 次に、 id>4の商品からsum(num)を選択します。 クエリの実行結果は次のとおりです。
Null ポインタ例外の解決 NullPointerException を回避するには、次の方法を使用します。 id>4の商品からifnull(sum(num), 0)を選択します。 クエリの実行結果は次のとおりです。 5. クエリの難易度が上昇列に いわゆるクエリの難易度が上がるというのは、 誤った使い方1: name<>null の場合、 person から * を選択します。 次の図に示すように、実行結果は空で、データが見つかりません。 誤った使い方2: name!=null の場合、 person から * を選択します。 次の図に示すように、実行結果も空であり、データは照会されません。 正しい使い方1: 名前が null でない person から * を選択します。 実行結果は次のとおりです。 正しい使い方2: !isnull(name) となる person から * を選択します。 実行結果は次のとおりです。 推奨される使用方法 Alibabaの「Java開発マニュアル」では、 拡張知識: NULLはインデックスに影響しません 注意深い友人は、次の図に示すように、私が 次に、 上記の結果から、 要約するこの記事では、列が これで、MySQL が Null になることで発生する 5 つの問題 (すべて致命的) に関するこの記事は終了です。MySQL が Null になることで発生する問題の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: HTML テーブルタグチュートリアル (23): 行の境界線の色属性 BORDERCOLORDARK
HTML段落段落は <p> タグによって定義されます。例<p>これは段落で...
複合インデックス (結合インデックスとも呼ばれます) は、複数の列に対して作成されるインデックスです...
Linux は現在最も広く使用されているサーバー オペレーティング システムです。Unix をベー...
目次1. サーバー2. クライアント3. テストサービス1. サーバー1. YUMソースを使用してN...
効果は以下のとおりです。 例1 例2:例1[結婚式の計画]を例にとるHTML: <div cl...
目次1件のレビュー2 水平分割の5つの戦略2.1 ハッシュ2.2 範囲2.3. キー2.4. リスト...
(1)HTTPリクエストを減らす。 (リソース ファイルをマージし、イメージ スプライトを使用します...
序文日常の開発では、MySQL を使用してページングを実装する場合、常に MySQL 制限構文を使用...
Kubernetes チームは最近、最新バージョンの Docker でサポートされている機能を廃止...
指導トピックウェブページ適用グレード高校2年生授業時間1 クラス教科書分析焦点: 静的および動的ウェ...
1. ソースコードの設計コードをコピーコードは次のとおりです。 <!DOCTYPE html ...
仮想化ソフトウェアをインストールする仮想マシンにオペレーティング システムをインストールする前に、ホ...
序文日常の開発では、サーバー上でさまざまなテキストやログの表示操作を実行する必要があることがよくあり...
requireJS には、baseURL というプロパティがあります。baseURL を設定すること...
目次1. 背景知識1. ARM64レジスタの紹介2. STP命令の詳しい説明(ARMV8マニュアル)...