MySQL NULL 값 처리 예제 튜토리얼

零下一度
풀어 주다: 2017-05-15 10:31:24
원래의
1448명이 탐색했습니다.

MySQL NULL값 처리

우리는 MySQL이 SQL SELECT 명령과 WHERE 절을 사용하여 데이터 테이블의 데이터를 읽는다는 것을 이미 알고 있습니다. 제공 쿼리 조건 필드가 NULL인 경우 이 명령이 제대로 작동하지 않을 수 있습니다.

이러한 상황을 처리하기 위해 MySQL은 세 가지 주요 연산자를 제공합니다.

IS NULL: 열 값이 NULL인 경우 이 연산자는 true를 반환합니다.

IS NOT NULL: 열의 값이 NULL이 아닌 경우 연산자는 true를 반환합니다.

<=>: 비교 연산자(= 연산자와 다름), 비교된 두 값이 NULL인 경우 true를 반환합니다.

NULL에 대한 조건부 비교 연산은 매우 특별합니다. = NULL 또는 !를 사용할 수 없습니다. =NULL은 열에서 NULL 값을 찾습니다.

MySQL에서 NULL 값을 다른 값(NULL도 포함)과 비교하면 항상 false가 반환됩니다. 즉, NULL = NULL은 false를 반환합니다.

MySQL은 IS NULL 및 IS NOT NULL 연산자를 사용하여 NULL을 처리합니다.

명령 프롬프트에서 NULL 값 사용

다음 예에서는 데이터베이스 가이드의 tcount_tbl 테이블에 tutorial_author와 tutorial_count라는 두 개의 열이 포함되어 있고 NULL 값은 다음과 같다고 가정합니다. tutorial_count에 삽입되었습니다.

다음 예를 시도해 보세요.

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的>
로그인 후 복사

다음 예에서는 = 및! = 연산자가 작동하지 않습니다.

mysql> SELECT * FROM tcount_tbl WHERE tutorial_count = NULL;
空置(0.00秒)
mysql> SELECT * FROM tcount_tbl WHERE tutorial_count!= NULL;
空置(0.01秒)
로그인 후 복사

데이터 테이블의 tutorial_count 열이 NULL인지 쿼리하려면 다음 예와 같이 IS NULL 및 IS NOT NULL을 사용해야 합니다.

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 스크립트를 사용하여 NULL 값 처리

PHP 스크립트에서는 if ... else 문을 사용하여 변수 는 비어 있고 해당 조건문을 생성합니다.

다음 예에서 PHP는 $tutorial_count 변수를 설정한 다음 이 변수를 사용하여 데이터 테이블의 tutorial_count 필드와 비교합니다.

<?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($康恩);
?>
로그인 후 복사

[관련 권장 사항]

1. 특별 추천: "php Programmer Toolbox" V0.1 버전 다운로드

2. 무료 mysql 온라인 동영상 튜토리얼

3. 데이터베이스 설계에 관한 것들

위 내용은 MySQL NULL 값 처리 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿