时间:2021-05-23
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)。
两种存储方式在数据库中都很常见,实际中根据业务或者个人习惯可以用这两种方式来存储“空值”。
看到这里应该明白了,直观看空字符和NULL的区别在于,在做count计算的时候,空字符也会被计算在里面,而NULL不会。有些同学在使用where is null 和is not null 的时候也要注意数据库中的“空值”是空字符还是NULL。
不然统计结果可能并不是你想要的。
平时有些数据是需要借助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处理完数据后,往数据库写数据的时候也一样。注意注意!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在Mysql中很多表都包含可为NULL(空值)的列,即使应用程序并不需要保存NULL也是如此,这是因为可为NULL是列的默认属性。但我们常在一些Mysql性能优
C#中DBNull是指插入一个空值,与Null值类似,但Null是空指向,不存在对应的地址,而DBNull则指向一个内存为空的地址,即DBNull可以实例化。今
经常用mysql的人可能会遇到下面几种情况:1、我字段类型是notnull,为什么我可以插入空值2、为什么notnull的效率比null高3、判断字段不为空的时
一、关于空值提示:在MySQL中如果不为NOTNULL字段赋值(等同于赋NULL值)例如:为一个NOTNULL的整型赋NULL值,结果是0,它并不会出错,为一个
日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到Mysql中的NULL和空字符。空字符('')和空值(null)表面上看都是空,其实存在一些差异:定