您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關使用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獲取數據的時候有哪些需要注意的。
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怎么向mysql中插入一個null值了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。