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

作者:pirate945 时间:2022-09-24 09:48:40 

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;

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


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

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

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

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

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

python有两种方式获取数据:

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

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

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

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

第二种:

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

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

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处理完数据后,往数据库写数据的时候也一样。注意注意!

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

来源:https://blog.csdn.net/pirate945/article/details/88245886

标签:python,mysql,null,空值
0
投稿

猜你喜欢

  • php快递单号查询接口使用示例

    2023-10-25 07:39:55
  • Python3.9.1中使用match方法详解

    2023-09-14 09:51:21
  • python批量下载网站马拉松照片的完整步骤

    2023-08-31 19:00:27
  • Python 共享变量加锁、释放详解

    2022-08-25 09:19:26
  • PHP session 会话处理函数

    2023-11-15 14:55:53
  • 详解如何利用docker快速构建MySQL主从复制环境

    2024-01-25 08:25:33
  • Vue.js实现一个自定义分页组件vue-paginaiton

    2024-05-02 16:36:36
  • Python实战之多种音乐格式批量转换

    2023-07-12 20:24:42
  • HTML5中 b 和 i 标签将语义化

    2008-03-16 13:43:00
  • IE7下动态创建Iframe时,去除边框的办法

    2009-01-19 13:56:00
  • python爬取哈尔滨天气信息

    2023-12-10 22:28:05
  • 使用Python做定时任务及时了解互联网动态

    2021-07-08 17:54:16
  • Python全栈之列表数据类型详解

    2023-05-05 15:27:10
  • Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】

    2022-06-01 04:19:02
  • Go语言eclipse环境搭建图文教程

    2024-05-09 09:47:36
  • Python通过wordcloud库实现将单词生成词云

    2022-02-24 20:17:18
  • Python实现获取照片拍摄日期并重命名的方法

    2023-04-14 03:26:37
  • PHP远程调试之XDEBUG

    2024-05-02 17:13:18
  • Pandas 实现分组计数且不计重复

    2022-01-30 03:39:56
  • MSSQL自动重建出现碎片的索引的方法分享

    2024-01-17 13:50:52
  • asp之家 网络编程 m.aspxhome.com