python 在mysql中插入null空值的操作

 更新时间:2021年03月06日 14:12:06   作者:pirate945  
这篇文章主要介绍了python 在mysql中插入null空值的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

python在mysql中插入null空值

sql = “INSERT INTO MROdata (MmeUeS1apId) VALUES (%s)”%‘NULL'

%s没有引号,可以将“null"中null写进数据库,达到NULL值效果。

%s加引号 values就是字符串,导致类型错误,插入错误。

sql = “INSERT INTO MROdata (MmeUeS1apId) VALUES (‘%s')”%‘NULL'

补充:数据库中的空值与NULL的区别以及python中的NaN和None

数据库里面的”空值”有两种:空字符(“”)、空值(NULL)。

两种存储方式在数据库中都很常见,实际中根据业务或者个人习惯可以用这两种方式来存储“空值”。

那这两种到底有什么区别,下面通过例子直接来展示:

-- 创建表test
create table `test` (
`id` int not null ,
`name` varchar(255) null ,
`date` timestamp null ,
`class` varchar(255) null 
);
insert into test (id,name,date,class) values (1,'张三','2017-03-01','a班');
insert into test (id,name,date,class) values (2,'李四','2017-03-02','');
insert into test (id,name,class) values (3,'王五','c班');
select * from test;

select count(date),count(class) from test;

看到这里应该明白了,直观看空字符和NULL的区别在于,在做count计算的时候,空字符也会被计算在里面,而NULL不会。有些同学在使用where is null 和is not null 的时候也要注意数据库中的“空值”是空字符还是NULL。

不然统计结果可能并不是你想要的。

平时有些数据是需要借助python 来处理的,我们来看看python获取数据的时候有哪些需要注意的。

python有两种方式获取数据:

1. 一种是把数据从MYSQL 中导出到txt或者csv,然后本地读取;

2. 另一种是python直接链接数据库,读取数据;

先看第一种:导出到csv,python 读取

第二种:

两种方式读取的数据居然不一样!

1、第一种把数据从MYSQL导出后,python读取时,空值即为NULL;

2、第二种链接数据库后,python能读取表结构,数据库的NULL对应列表中的None以及pandas中的NaN(如果字段类型是时间,则为NaT)。而数据库中的空字符,则被识别为空字符。

个人理解的等式

NULL(数据库)=None(python列表)=NaN(pandas)

空字符(数据库)=空字符(python列表)=空字符(pandas)

从csv中获取数据时:空值(csv)=NULL(数据库)=NaN(pandas)

转为csv数据时:数据库中的NULL\空字符和pandas中的NaN\空字符,都变成csv中的空值

在python处理完数据后,往数据库写数据的时候也一样。注意注意!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • python中global与nonlocal比较

    python中global与nonlocal比较

    这篇文章主要介绍了python中global与nonlocal比较,global关键字用来在函数或其他局部作用域中使用全局变量,nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量,需要的朋友可以参考下
    2014-11-11
  • Python中的 enum 模块源码详析

    Python中的 enum 模块源码详析

    这篇文章主要给大家介绍了关于Python中 enum 模块的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 如何利用Python随机从list中挑选一个元素

    如何利用Python随机从list中挑选一个元素

    这篇文章主要介绍了如何利用Python随机从list中挑选一个元素,文章通过研究从列表中选择随机元素的不同实现方法展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 安装Python和pygame及相应的环境变量配置(图文教程)

    安装Python和pygame及相应的环境变量配置(图文教程)

    下面小编就为大家带来一篇安装Python和pygame及相应的环境变量配置(图文教程)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Jupyter Notebook界面汉化完整步骤

    Jupyter Notebook界面汉化完整步骤

    这篇文章主要给大家介绍了关于Jupyter Notebook界面汉化的相关资料,设置成中文界面后非常利于操作,文中介绍的方法非常简单,需要的朋友可以参考下
    2023-09-09
  • Python版名片管理系统

    Python版名片管理系统

    这篇文章主要为大家详细介绍了Python版名片管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • 对pandas replace函数的使用方法小结

    对pandas replace函数的使用方法小结

    今天小编就为大家分享一篇对pandas replace函数的使用方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python实现自动化对Word文档添加或移除行号

    Python实现自动化对Word文档添加或移除行号

    Word文档中的行号(行编号)功能是对于精细化的文档编辑以及解析非常有用的功能,添加行号能够极大地提升文档的可读性和定位效率,本文将介绍如何使用Python来实现自动化对Word文档添加或移除行号,为文档处理工作带来便捷,需要的朋友可以参考下
    2024-07-07
  • Python基类函数的重载与调用实例分析

    Python基类函数的重载与调用实例分析

    这篇文章主要介绍了Python基类函数的重载与调用方法,实例分析了Python中基类函数的重载及调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • numpy如何按条件给元素赋值np.where、np.clip

    numpy如何按条件给元素赋值np.where、np.clip

    这篇文章主要介绍了numpy如何按条件给元素赋值np.where、np.clip问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论