ホームページ  >  記事  >  バックエンド開発  >  ヤン・シバと PHP を学ぶ - 26 日目 - 奇妙な NULL

ヤン・シバと PHP を学ぶ - 26 日目 - 奇妙な NULL

WBOY
WBOYオリジナル
2016-06-13 13:07:04991ブラウズ

Yan Shiba と PHP を学ぶ - 26 日目 - 奇妙な NULL

/**
芝ヤン福祉 PHP トレーニング
クラスアドレス: YY チャンネル 88354001
学習コミュニティ: www.zixue.it
**/

mysql> #テーブルを作成するとき、列が null でない場合、デフォルト ''、デフォルト 0 になるとはどういう意味ですか?
mysql> #Answer: この列の値を NULL にしないだけです。列に値が入力されていない場合は、デフォルト値も存在し、NULL にはなりません。 mysql> # 列の値を null にしないのはなぜですか?
mysql> テーブル作成 test9 (
-> sname varchar(20)
-> )エンジン myisam 文字セット utf8;
クエリは OK、影響を受ける行は 0 (0.20 秒)


mysql> test9
に挿入 -> 値
-> ('リシ','ワンウー','null');
エラー 1136 (21S01): 列数が行 1 の値数と一致しません
mysql> test9
に挿入 -> 値
-> ('リシ'),('ワンウー',('null');
エラー 1064 (42000): SQL 構文にエラーがあります。
に対応するマニュアルを確認してください。

MySQL サーバーのバージョンに合わせて、3 行目の '' 付近で使用する正しい構文を確認してください
mysql> test9
に挿入 -> 値
-> ('リシ'),('ワンウー'),('null');
クエリは OK、3 行が影響を受けました (0.00 秒)
記録: 3 重複: 0 警告: 0


mysql> select * from test9;
+--------+
| 名前 |
+--------+
| リシ |
| 王武 |
| null |
+--------+
3 行セット (0.00 秒)


mysql> test9 値に挿入 (NULL);
クエリは OK、1 行が影響を受けました (0.02 秒)


mysql> select * from test9;
+--------+
| 名前 |
+--------+
| リシ |
| 王武 |
| null |
| NULL |
+--------+
4 行セット (0.00 秒)


mysql> test9 where sname='null';
から削除します クエリは OK、1 行が影響を受けました (0.03 秒)


mysql> select * from test9;
+--------+
| 名前 |
+--------+
| リシ |
| 王武 |
| NULL |
+--------+
3 行セット (0.00 秒)


mysql> #ユーザー名が null ではない行をクエリします
mysql> select * from test9 where sname!=null;
空のセット (0.00 秒)


mysql> #lisi wangwu が検出されなかったのはなぜですか? mysql> #sname が null の行をチェックします
mysql> select * from test9 where sname=null;
空のセット (0.00 秒)


mysql> #また空になりました
mysql> 2>1;
+-----+
| 2>1 |
+-----+
| 1 |
+-----+
セット内の 1 行 (0.00 秒)


mysql> 選択 2 +-----+
| 2 +-----+
| 0 |
+-----+
セット内の 1 行 (0.00 秒)


mysql> 選択 39 +------+
| 39 +------+
| 1 |
+------+
セット内の 1 行 (0.00 秒)


mysql> 'lisi'=null;
を選択します。 +-------------+
| 'lisi'=null |
+-------------+
| NULL |
+-------------+
セット内の 1 行 (0.00 秒)


mysql> # null は false、lisi=null は false
mysql> null=null;
+----------+
| null=null |
+----------+
| NULL |
+----------+
セット内の 1 行 (0.00 秒)


mysql> # null=null、まだ null、まだ false
mysql> null!=null;
+----------------+
| null!=null |
+----------------+
| NULL |
+----------------+
セット内の 1 行 (0.00 秒)


mysql> # null は空であり、4 つの要素がすべて空である空のスペースです。 mysql> # Null 比較には特別な演算子が必要 is null 、is not null
mysql> select * from sname where sname is not null;
エラー 1146 (42S02): テーブル 'test.sname' が存在しません
mysql> select * from test9 where sname is not null;
+--------+
| 名前 |
+--------+
| リシ |
| 王武 |
+--------+
2 行セット (0.00 秒)


mysql> select * from test9 where sname is null;
+------+
| 名前 |
+------+
| NULL |
+------+
セット内の 1 行 (0.00 秒)


mysql> 終了


ヤン・シバ先生はとても面白いです、昨日のビデオは次のとおりです:

http://www.tudou.com/programs/view/-A_S1EMsNDs/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。