国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:81日期:2022-06-26 10:01:00

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)。

兩種存儲方式在數據庫中都很常見,實際中根據業務或者個人習慣可以用這兩種方式來存儲“空值”。

那這兩種到底有什么區別,下面通過例子直接來展示:

-- 創建表testcreate 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處理完數據后,往數據庫寫數據的時候也一樣。注意注意!

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 东丽区| 南澳县| 刚察县| 合水县| 牡丹江市| 蓬莱市| 马边| 常宁市| 义乌市| 阳原县| 龙山县| 隆化县| 芦溪县| 南昌县| 张掖市| 长春市| 望奎县| 连云港市| 衡南县| 东源县| 和平区| 金昌市| 昌都县| 双辽市| 阆中市| 明溪县| 深水埗区| 夏河县| 武乡县| 遂宁市| 临沧市| 巨野县| 资阳市| 九龙县| 南和县| 太保市| 泸水县| 阳西县| 阳朔县| 惠东县| 调兵山市|