Heim  >  Artikel  >  Datenbank  >  Beispiel-Tutorial zur MySQL-NULL-Wert-Verarbeitung

Beispiel-Tutorial zur MySQL-NULL-Wert-Verarbeitung

零下一度
零下一度Original
2017-05-15 10:31:241426Durchsuche

MySQL NULLWertverarbeitung

Wir wissen bereits, dass MySQL den SQL-SELECT-Befehl und die WHERE-Klausel verwendet, um die Daten in der Datentabelle zu lesen, aber wenn die bereitgestellt Wenn das Abfragebedingungsfeld NULL ist, funktioniert dieser Befehl möglicherweise nicht ordnungsgemäß.

Um mit dieser Situation umzugehen, stellt MySQL drei Hauptoperatoren zur Verfügung:

IS NULL: Wenn der Spaltenwert NULL ist, gibt dieser Operator „true“ zurück.

IS NOT NULL: Wenn der Wert der Spalte nicht NULL ist, gibt der Operator true zurück.

96b4fef55684b9312718d5de63fb7121: Vergleichsoperator (anders als =-Operator), gibt true zurück, wenn die beiden verglichenen Werte NULL sind.

Die bedingte Vergleichsoperation auf NULL ist etwas ganz Besonderes. Sie können nicht = NULL oder ! verwenden. =NULL findet NULL-Werte in der Spalte.

In MySQL gibt der Vergleich eines NULL-Werts mit einem anderen Wert (sogar NULL) immer „false“ zurück, d. h. NULL = NULL gibt „false“ zurück.

MySQL verarbeitet NULL mit den Operatoren IS NULL und IS NOT NULL.

Verwendung von NULL-Werten in der Eingabeaufforderung

Im folgenden Beispiel wird davon ausgegangen, dass die Tabelle tcount_tbl im Datenbankhandbuch zwei Spalten enthält, Tutorial_author und Tutorial_count, und ein NULL-Wert ist eingefügt in Tutorial_count.

Probieren Sie die folgenden Beispiele aus:

root @ host#mysql -u root -p password;
输入密码:*******
mysql> use TUTORIALS;数据库已更改mysql> create table tcount_tbl
    - >(
    - > tutorial_author varchar(40)NOT NULL,
    - > tutorial_count INT
    - >);
查询OK,0行受影响(0.05秒)
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值('mahran',20);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)values('mahnaz',NULL);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值('Jen',NULL);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值('Gill',20);
mysql> select * from tcount_tbl;
+ ----------------- + ---------------- +
| tutorial_author | tutorial_count |
+ ----------------- + ---------------- +
| 马赫兰 20 |
| mahnaz | NULL |
| 仁| NULL |
| 鳃| 20 |
+ ----------------- + ---------------- +
4行(0.00秒)
MySQL的>

In den folgenden Beispielen sehen Sie = und! Der =-Operator funktioniert nicht

mysql> SELECT * FROM tcount_tbl WHERE tutorial_count = NULL;
空置(0.00秒)
mysql> SELECT * FROM tcount_tbl WHERE tutorial_count!= NULL;
空置(0.01秒)

Um abzufragen, ob die Spalte „tutorial_count“ in der Datentabelle NULL ist, müssen Sie IS NULL und IS NOT NULL verwenden, wie im folgenden Beispiel gezeigt:

mysql> SELECT * FROM tcount_tbl 
    - > WHERE tutorial_count IS NULL;
+ ----------------- + ---------------- +
| tutorial_author | tutorial_count |
+ ----------------- + ---------------- +
| mahnaz | NULL |
| 仁| NULL |
+ ----------------- + ---------------- +
2行(0.00秒)
mysql> select * from tcount_tbl 
    - > WHERE tutorial_count is NOT NULL;
+ ----------------- + ---------------- +
| tutorial_author | tutorial_count |
+ ----------------- + ---------------- +
| 马赫兰 20 |
| 鳃| 20 |
+ ----------------- + ---------------- +
2行(0.00秒)

PHP-Skript zur Verarbeitung des NULL-Werts verwenden

Im PHP-Skript können Sie die Anweisung if... else verwenden, um zu verarbeiten, ob die Variable vorhanden ist ist leer und generiert die entsprechende bedingte Anweisung.

Im folgenden Beispiel legt PHP die Variable $tutorial_count fest und verwendet diese Variable dann zum Vergleich mit dem Feld „tutorial_count“ in der Datentabelle:

<?PHP
$ dbhost =&#39;localhost:3036&#39;;
$ dbuser =&#39;root&#39;;
$ dbpass =&#39;rootpassword&#39;;
$ conn = mysql_connect($ dbhost,$ dbuser,$ dbpass);
if(!$ conn)
{
  die(&#39;无法连接:&#39;。mysql_error());
}
if(isset($ tutorial_count))
{
   $ sql =&#39;SELECT tutorial_author,tutorial_count
           FROM tcount_tbl
           WHERE tutorial_count = $ tutorial_count&#39;;
}
其他
{
   $ sql =&#39;SELECT tutorial_author,tutorial_count
           FROM tcount_tbl
           WHERE tutorial_count IS $ tutorial_count&#39;;
}
mysql_select_db( &#39;教程&#39;);
$ retval = mysql_query($ sql,$ conn);
如果(!$ retval)
{
  die(&#39;无法获取数据:&#39;mysql_error());
}
while($ row = mysql_fetch_array($ retval,MYSQL_ASSOC))
{
    echo“作者:{$ row [&#39;tutorial_author&#39;]} <br>”。
         “Count:{$ row [&#39;tutorial_count&#39;]} <br>”。
         “--------------------------------结果”;
} 
echo“成功获取数据\ n”;
mysql_close($康恩);
?>

[Verwandte Empfehlungen]

1. Besondere Empfehlung: "php Programmer Toolbox" V0.1 Version herunterladen

2. Kostenloses MySQL-Online-Video-Tutorial

3. Dinge zum Datenbankdesign

Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial zur MySQL-NULL-Wert-Verarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn