집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에 NULL 또는 빈 문자열을 삽입하는 것이 더 낫습니까?
innoDB에서 NULL은 빈 문자열보다 공간을 덜 차지합니다. 또한 NULL 길이는 다음과 같습니다. null이고 빈 문자열의 길이는 0입니다.
이를 이해하려면 아래와 같이 create 명령을 사용하여 테이블을 생성하십시오. -
mysql> CREATE table DemoEmptyAndNULL -> ( -> Message varchar(100) -> ); Query OK, 0 rows affected (0.49 sec)
테이블이 성공적으로 생성된 후, 다음 명령어를 통해 빈 레코드를 테이블에 삽입합니다. 다음과 같은 insert 명령 -
mysql> INSERT into DemoEmptyAndNULL values(' '); Query OK, 1 row affected (0.17 sec)
기록을 삽입한 후 select 명령을 사용하면 모든 기록을 표시할 수 있습니다. -
mysql> SELECT * from DemoEmptyAndNULL;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다. -
+---------+ | Message | +---------+ | | +---------+ 1 row in set (0.00 sec)
내장 함수 count를 이용하여 빈 문자열의 길이를 확인하는 구문은 다음과 같습니다. Follow-
select count(column_name) from yourTableName;
위 구문은 다음과 같이 주어진 빈 문자열의 길이를 구하는 데 사용됩니다-
mysql> select count(message) from DemoEmptyAndNULL;
위 쿼리를 실행한 후 출력은 다음과 같습니다-
+----------------+ | count(message) | +----------------+ | 1 | +----------------+ 1 row in set (0.06 sec)
위 출력에서 빈 문자를 지우십시오. 문자열의 길이는 1입니다.
이제 NULL의 길이를 확인해 보겠습니다. 먼저, 테이블에 삽입된 레코드는 다음과 같습니다. 아래와 같이 delete 명령을 사용하여 삭제-
mysql> delete from DemoEmptyAndNULL where message=' '; Query OK, 1 row affected (0.19 sec)
현재 테이블에 레코드가 없는지 확인하는 쿼리는 다음과 같습니다
mysql> SELECT * from DemoEmptyAndNULL; Empty set (0.00 sec)
이제 아래와 같이 null 값을 갖는 레코드가 테이블에 삽입됩니다-
mysql> INSERT into DemoEmptyAndNULL values(); Query OK, 1 row affected (0.18 sec)
해당 레코드는 다음과 같습니다. select 명령을 사용하여 표시되고 얻은 출력은 다음과 같습니다.
+---------+ | Message | +---------+ | NULL | +---------+ 1 row in set (0.00 sec)
이제 테이블에는 null 값이 있는 레코드가 하나만 있습니다. 길이를 찾으려면 다음 쿼리를 실행하십시오. -
mysql> select count(message) from DemoEmptyAndNULL;
를 사용하면 다음은 위 쿼리의 출력입니다. -
+----------------+ | count(message) | +----------------+ | 0 | +----------------+ 1 row in set (0.00 sec)
위 출력은 count가 0(null 값)임을 의미합니다.
MySQL 버전을 확인해 보겠습니다.
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.06 sec)
따라서 NULL 값을 허용하면 시스템이 이를 수행하도록 강제하므로 데이터베이스는 빈 문자열을 사용하는 것이 더 좋습니다. 추가 작업이 필요하며 원하는 데이터를 제공하지 않습니다. 그러나 NULL은 발생하지 않습니다. count() 함수 실행 중 예외가 발생합니다.
위 내용은 MySQL에 NULL 또는 빈 문자열을 삽입하는 것이 더 낫습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!