Python MySQL execute语句返回NoneType

Python MySQL execute语句返回NoneType,python,mysql,sum,nonetype,Python,Mysql,Sum,Nonetype,我有一个txt文件,其中有一个婴儿名字列表,按照有多少婴儿出生时就有这个名字排列。格式(等级、男孩姓名、数字、百分比、女孩姓名、数字和百分比) 示例:1迈克尔462085 2.2506杰西卡302962 1.5436。我已经编写代码将其解析为一个数组,并将每个值放在一个单独的列中。我想把所有男孩的数量加起来,算出出生男孩的总数。我使用的sql语句在sql控制台中工作,但python始终返回“None”。我应该创建一个单独的函数,还是这是一个快速解决方案。查找总和的代码位于底部 import my

我有一个txt文件,其中有一个婴儿名字列表,按照有多少婴儿出生时就有这个名字排列。格式(等级、男孩姓名、数字、百分比、女孩姓名、数字和百分比) 示例:
1迈克尔462085 2.2506杰西卡302962 1.5436
。我已经编写代码将其解析为一个数组,并将每个值放在一个单独的列中。我想把所有男孩的数量加起来,算出出生男孩的总数。我使用的sql语句在sql控制台中工作,但python始终返回“None”。我应该创建一个单独的函数,还是这是一个快速解决方案。查找总和的代码位于底部

import mysql.connector
from decimal import Decimal


db = mysql.connector.connect(
     host = "localhost",
     user="root",
     passwd = "",
     database = "Final"
     )

cur = db.cursor()

Boys_born = 50       
babies_born = 0
index = 0
#opens txt file and splits each value and plugs into database
with open("babynames.txt") as in_file:
    for line in in_file:
        row = []
        stripped_line = line.strip()
        row = stripped_line.split()



        RANK = row[0]
        BOY_NAME = row[1]
        BOY_NUMBER = int(row[2])
        BOY_PERCENT = Decimal(row[3])
        GIRL_NAME = row[4]
        GIRL_NUMBER = int(row[5])
        GIRL_PERCENT = Decimal(row[6])

#dont worry about this if statement
        if babies_born >= 16079293.5:
            boy = row[1]
            girl = row[4]

        sql1 = "INSERT INTO Boy_names (RANK, BOY_NAME, BOY_NUMBER, BOY_PERCENT) VALUES (%s, 
%s, %s, %s)"
    val1 = (RANK, BOY_NAME, BOY_NUMBER, BOY_PERCENT)

    cur.execute(sql1, val1)
    db.commit()

    sql2 = "INSERT INTO Girl_names (RANK, GIRL_NAME, GIRL_NUMBER, GIRL_PERCENT) VALUES (%s, %s, %s, %s)"
    val2 = (RANK, GIRL_NAME, GIRL_NUMBER, GIRL_PERCENT)

    cur.execute(sql2, val2)
    db.commit()

Boy_total = cur.execute("SELECT SUM(BOY_NUMBER) FROM Boy_names")
print(Boy_total)
for i in cur.fetchall():
    print(i)
是的,
cur.execute()
返回
None
。这是正常的行为。通过您已经在使用的
fetchall()
之类的东西访问数据。我看这里没有任何问题。是的,
cur.execute()
返回
None
。这是正常的行为。通过您已经在使用的
fetchall()
之类的东西访问数据。我看这里没有任何问题。