[Infra] 데이터베이스(DB, Database) 널(null)과 공백의 차이

업데이트:

널(null)과 공백의 차이

참고 링크

오라클(oracle)의 경우 null과 공백(““)은 같다고 한다. 즉, 해당 필드에 해당하는 값을 공백으로 넣는다면 자동으로 null값으로 표시된다. 하지만 mysql의 경우 공백을 넣게 되는 경우 공백으로 나타나고, 이는 null값과 다른다. 그럼 mysql을 이용할때 null값은 어떻게 넣을 수 있을까?

  • mysql에 null값 넣기 예제

DB명은 a, table명은 t1이라고 하면 a.t1은 아래와 같다.

name age hobby
kim 30 soccer
lee 17 computer

이때 널값을 포함하는 새로운 레코드(record)를 삽입(insert)하고 싶을때는 아래와 같이 해당 필드를 애초에 표시하지 않는다.

insert into a.t1(name, age) values (park, 25)

그러면 아래와 같은 결과를 확인할 수 있다.

name age hobby
kim 30 soccer
lee 17 computer
park 25 null

주의할 점은 필드가 세개라고해서 꼭 insert할때 필드를 세개 모두 쓰지 않는 다는 것이다. 만약 자신이 꼭 필드명을 다 쓰고 싶다면 아래와 같이 넣자.

insert into a.t1(name, age, hobby) values (park, 25, null)