Heim > Datenbank > MySQL-Tutorial > Hauptteil

Beispiel-Tutorial zur MySQL-NULL-Wert-Verarbeitung

零下一度
Freigeben: 2017-05-15 10:31:24
Original
1430 Leute haben es durchsucht

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.

<=>: 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)值(&#39;mahran&#39;,20);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)values(&#39;mahnaz&#39;,NULL);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值(&#39;Jen&#39;,NULL);
mysql> INSERT INTO tcount_tbl
    - >(tutorial_author,tutorial_count)值(&#39;Gill&#39;,20);
mysql> select * from tcount_tbl;
+ ----------------- + ---------------- +
| tutorial_author | tutorial_count |
+ ----------------- + ---------------- +
| 马赫兰 20 |
| mahnaz | NULL |
| 仁| NULL |
| 鳃| 20 |
+ ----------------- + ---------------- +
4行(0.00秒)
MySQL的>
Nach dem Login kopieren

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秒)
Nach dem Login kopieren

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秒)
Nach dem Login kopieren

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($康恩);
?>
Nach dem Login kopieren

[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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!