正式に開始する前に、次の図に示すように、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
MySQLパスワードは正しいが、ローカルでログインできない -1045 ユーザー 'roo...
目次1. 浅いクローニング2. ディープクローニング1. 浅いクローニング浅いクローンでは配列やオブ...
1. Pythonのインストール1. フォルダーを作成します。 mkdir python フォルダ...
最近では、多くのウェブサイトでは、ページ上の特定のコンテンツや情報を直接コピーすることは許可されてお...
BackUpMysql.sh スクリプト #!/bin/bash PATH=/bin:/sbin:/...
まず効果を見てみましょう: html <a href="#"> &l...
1. TypeScriptの紹介前回の記事ではTypeScriptのインストール、使い方、自動コンパ...
目次モードパラメータハッシュ履歴ハッシュ履歴.push()ハッシュ履歴.replace()アドレスバ...
本日は、色彩の応用に関する優れた事例を 30 件集めて、皆さんにご紹介したいと思います。これらの事例...
目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...
1. 継続的デリバリーとは何かソフトウェア製品の出力プロセスは、ソフトウェアがいつでもリリースできる...
ソース ファイルを右クリックすると、次のコードが見つかります。 1. CSSを使用してFirefox...
目次1. 要件の説明2. アイデアの概要1. 延長を要求する2. アイデアの概要3. SQLコード1...
MySQLとMariaDBの関係MariaDB データベース管理システムは MySQL のブランチで...
Kubernetes は、アプリケーションの移植性とハイブリッド クラウド/マルチクラウドの展開をサ...