mysql中NULL和null的区别

接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据时加引号,一直没有深入研究。今天问题又出现了,当插入的值为null时,页面显示是空的!仔细研究发现:

1、向数据表insert ‘NULL‘和‘null‘时,在数据表中显示的分别为NULL和空.
   2、向数据表insert null时,在数据表中显示也为NULL.
   3、从数据库select ‘NULL‘时,只有insert为‘NULL‘的部分,显示为NULL.
   4、从数据库select null时,只有insert为null的部分,显示为NULL.

进而,得出结论数据表中‘NULL’和null是不同的概念,虽然显示相同。实际上,null是一个比较特殊的字段。在MySQL数据库中,在不同的情形下,空值往往代表不同的含义。而’NULL‘是字符类型的,主要是两者显示相同,在对数据库不是很了解的同学则容易差生混淆⊙﹏⊙。

参考:http://blog.csdn.net/eroswang/article/details/8529817

时间: 2024-11-13 12:07:43

mysql中NULL和null的区别的相关文章

用count(*)还是count(列名) || Mysql中的count()与sum()区别

Mysql中的count()与sum()区别 首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` varchar(20) default NULL, `score` tinyint(4) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 插入一些数据, insert into result values ('张三','数学',90), ('张三

mysql中char与varchar的区别分析

原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定的长度,而varchar属于可变长的字符类型. char与varchar的区别 char (13)长度固定, 如'www.jb51.net' 存储需要空间 12个字符 varchar(13) 可变长 如'w

(转)MySQL中In与Exists的区别

背景:总结mysql相关的知识点. 如果A表有n条记录,那么exists查询就是将这n条记录逐条取出,然后判断n遍exists条件. select * from user where exists select * from user); #等价于 select * from user where exists (select 1); in查询就是先将子查询条件的记录全都查出来,假设结果集为B,共有m条记录,然后再将子查询条件的结果集分解成m个,再进行m次查询. select * from us

Mysql如何查字段的长度,Mysql中length()、char_length()的区别

1.今天发生了一件有意思的事情,传输的数据大于标准定的字段长度了,我把字段长度调大了,把数据传输过来了.谁知道,人家的数据不符合标准,要删除了重新搞,那么你如何将超长的数据删除呢,或者将超长的数据查询出来. 答:剧透一下,其实使用char_length()查询出来的,就可以把这些删除掉,然后将调大的字段长度调小就行了.备注,我实际操作的字段都是中文字符哈,别再写教程写出血案了. 2.先了解一下,Mysql中length().char_length()的区别. 1).length():mysql里

Mysql中Key与Index的区别

mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的. 1 key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的).包括primary key, unique key, foreign key 等. primary key 有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性,但同时也在此key上建立了一个index: unique key 也有两个作用,一是约束作用(cons

MySQL中 DECIMAL FLOAT DOUBLE的区别

第一篇文章: MySQL中Decimal类型和Float Double等区别 MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值.float,double类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理.这样我们在存取货币值的时候自然遇到问题,我的default值为:0.00而实

mysql 中Varchar 与char的区别

一.字符与字节与编码关系 ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制.最小值0,最大值255. UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节. Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节. 二.Varchar与char区别 char固定长度的类型:char(M)类型的数据列里,每个值都占用M个字节,如果某个长

mysql中redo和binlog的区别

影响MySQL中redo的配置参数: innodb_log_file_size:指定每个redo日志大小,默认值48MB innodb_log_files_in_group:指定日志文件组中redo日志文件数量,默认为2 innodb_log_group_home_dir:指定日志文件组所在路劲,默认值./,指mysql的数据目录datadir 查看innodb配置: mysql> show variables like 'innodb%log%'; +---------------------

mysql中now和sysdate的区别

mysql 中now获取的是sql执行的时间,sysdate获取的是系统时间 在master 和slave 主从过程中会导致时间的不一致导致报错 例如: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a di

17.MySQL中的IS NULL 和 IS NOT NULL

1.准备 1 CREATE DATABASE mahaiwuji; 2 USE mahaiwuji; 3 4 CREATE TABLE emp 5 ( 6 empno INT PRIMARY KEY, 7 ename VARCHAR(10), 8 sal INT 9 ) ENGINE = INNODB DEFAULT CHARSET = utf8; 10 11 INSERT INTO emp VALUES (1,'smith',2800); 12 INSERT INTO emp VALUES (