> 数据库 > MySQL >

mysql中NULL与 '' 区别

在mysql中“空值” 和 “NULL” 的概念
 
首先,我们要搞清楚“空值” 和 “NULL” 的概念:
 
1、空值是不占用空间的
 
2、mysql中的NULL其实是占用空间的
 
 下面来分析下创建的语句
 
创建test表
 
CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `colA` varchar(10) DEFAULT '',
  `colb` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
 
插入4条数据
insert into test (cola,colb)
values('b','b'),
('c',null),
(null,'d'),
('','e')
 
查询表数据
 
select * from test
 
 
 
select * from test  where colA !='b' 
 
这样查询是不包含null的
 

 
 
select * from test  where  ( colA !='b' or colA is null ) 
 
 

 
注意点:
 
"null" 表示什么也不是, 用“=、>、< ...” 所有的判断,结果都是false,所有只能用 is null进行判断
 






(责任编辑:IT)