,,Mysql中的NULL和Empty String

,,Mysql中的NULL和Empty String

本文主要介绍Mysql中NULL和空字符串的知识,有需要的朋友可以参考一下。

最近刚接触Mysql。昨天,我创建了一个新表来存储表结构信息:

create TABLE tablist(TABLE _ SCHEMA varchar(40),TABLE_NAME varchar(40),COLUMN_NAME varchar(40),COLUMN_TYPE varchar(40),

IS_NULLABLE varchar(10),COLUMN_DEFAULT varchar(40),COLUMN_COMMENT varchar(1000),REMARK varchar(2000));

insert into tablist(TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,COLUMN_COMMENT)

select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,COLUMN_COMMENT

from information _ SCHEMA . ` columns ` where TABLE _ SCHEMA=' Leo ';

然后查询tablist表:

查看哪些列没有注释,所以:

select * from tablist,其中COLUMN_COMMENT为null

结果实际上是空集。但是从上面的查询结果和navicat可以看出,null值在结果集中显示的是' null '这个词,而空字符串是空的。

检查数据后发现,Mysql的null值和空字符串是有区别的。这里很奇怪,在插入COLUMN_COMMENT之后,null值实际上变成了空字符串(原因不明)。

使用select * from tablist,其中column _ comment=“”;查询是正常的。

空列要求行中有额外的空间来记录它们的值是否为空。对于MyISAM表,每个空列额外占用一位,四舍五入到最接近的字节。

在Mysql的myisam引擎中,null值占用额外的存储空间(1bit),而空字符串则完全不占用空间。同时,空值不能存储在B树索引中,在数据量较大时会造成严重的性能问题。

两者的查询方式也不同:空值查询使用is null/is not null查询,而空字符串使用=或!=只是查询。

总结

以上是边肖介绍的Mysql中的空字符串。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • pymysql菜鸟教程,pymysql 使用
  • pymysql菜鸟教程,pymysql 使用,pymysql模块使用简介与示例
  • mysql锁实现,mysql锁算法
  • mysql锁实现,mysql锁算法,MySQL锁机制与用法分析
  • mysql连接报错10061,mysql连接错误10060
  • mysql连接报错10061,mysql连接错误10060,MYSQL无法连接 提示10055错误的解决方法
  • mysql连接报10060错误,mysql连接报错10055
  • mysql连接报10060错误,mysql连接报错10055,MySQL连接异常报10061错误问题解决
  • mysql辅助索引和主键索引,mysql 主键 外键 索引
  • mysql辅助索引和主键索引,mysql 主键 外键 索引,MySQL索引之主键索引
  • MySQL语句大全,mysql常见语句总结
  • MySQL语句大全,mysql常见语句总结,MySQL语句整理及汇总介绍
  • mysql触发器的使用方法实验报告,mysql中触发器的使用
  • 留言与评论(共有 条评论)
       
    验证码: