当前位置:Gxlcms > 数据库问题 > MySQL NULL 值如何处理?

MySQL NULL 值如何处理?

时间:2021-07-01 10:21:17 帮助过:8人阅读

# mysql -u root -p password;Enter password:*******mysql> use OPENKETANG; Database changedmysql> create table openketang_test_tbl -> ( -> openketang_author varchar(40) NOT NULL, -> openketang_count INT -> ); Query OK, 0 rows affected (0.05 sec)mysql> INSERT INTO openketang_test_tbl (openketang_author, openketang_count) values (OPENKETANG, 20); mysql> INSERT INTO openketang_test_tbl (openketang_author, openketang_count) values (阿里云大学, NULL); mysql> INSERT INTO openketang_test_tbl (openketang_author, openketang_count) values (Google, NULL); mysql> INSERT INTO openketang_test_tbl (openketang_author, openketang_count) values (FK, 20); mysql> SELECT * from openketang_test_tbl; +---------------+--------------+ | openketang_author | openketang_count | +---------------+--------------+ | OPENKETANG | 20 | | 阿里云大学 | NULL | | Google | NULL | | FK | 20 | +---------------+--------------+ 4 rows in set (0.01 sec)

 

以下实例中你可以看到 = 和 != 运算符是不起作用的:

mysql> SELECT * FROM openketang_test_tbl WHERE openketang_count = NULL;

Empty set (0.00 sec)mysql> SELECT * FROM openketang_test_tbl WHERE openketang_count != NULL;

Empty set (0.01 sec)

 

查找数据表中 runoob_test_tbl 列是否为 NULL,必须使用 IS NULL 和 IS NOT NULL,如下实例:

mysql> SELECT * FROM openketang_test_tbl WHERE openketang_count IS NULL;

 +---------------+--------------+

 | openketang_author | openketang_count |

  +---------------+--------------+

  | 阿里云大学  | NULL         |

  | Google        | NULL         |

  +---------------+--------------+

  2 rows in set (0.01 sec) mysql> SELECT * from openketang_test_tbl WHERE

  openketang_count IS NOT NULL;

  +---------------+--------------+

  | openketang_author | openketang_count |

  +---------------+--------------+

  | OPENKETANG        | 20           |

  | FK            | 20           |

   +---------------+--------------+

   2 rows in set (0.01 sec)

 

使用 PHP 脚本处理 NULL

PHP 脚本中你可以在 if...else 语句来处理变量是否为空,并生成相应的条件语句。

以下实例中 PHP 设置了 $aliyun_count 变量,然后使用该变量与数据表中的 aliyun_count 字段进行比较:

MySQL ORDER BY 测试:

<?php$dbhost = localhost:3306; 

// mysql服务器主机地址$dbuser = root;           

// mysql用户名$dbpass = 123456;         

// mysql用户名密码$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn ){ die(连接失败:  . mysqli_error($conn));}

// 设置编码,防止中文乱码

mysqli_query($conn , "set names utf8");

if( isset($openketang_count )){ $sql = "SELECT openketang_author, openketang_count

FROM openketang_test_tbl WHERE openketang_count = $openketang_count";}

else{ $sql = "SELECT openketang_author, openketang_count FROM openketang_test_tbl          

WHERE openketang_count IS NULL";}

mysqli_select_db( $conn, OPENKETANG );

$retval = mysqli_query( $conn, $sql );

if(! $retval ){ die(无法读取数据:  . mysqli_error($conn));}

echo <h2>阿里云大学 IS NULL 测试<h2>;

echo <table border="1"><tr><td>作者</td><td>登陆次数</td></tr>;

while($row = mysqli_fetch_array($retval, MYSQL_ASSOC)){    echo "<tr>".

"<td>{$row[‘openketang_author‘]} </td> ".<td>{$row[‘openketang_count‘]} </td> ".

"</tr>";}echo </table>;mysqli_close($conn);?>

 

输出结果如下图所示:

 技术图片

 

 

全部MySQL教程:阿里云大学——开发者课堂

MySQL NULL 值如何处理?

标签:关于   次数   data   不为   mamicode   ima   mysql用户   oca   lse   

人气教程排行