使用phpmyadmin,加载一个mysql数据库,我试图使用python修改数据库

使用phpmyadmin,加载一个mysql数据库,我试图使用python修改数据库,python,mysql,sql,sql-delete,Python,Mysql,Sql,Sql Delete,我正试图: 更新数据,使婚姻=2个单身和婚姻=3个其他人合并为2个单身。 以及: 删除任何账单AMT1到账单AMT6中账单金额值为负值的所有数据记录 问题是,我运行代码,得到所有明确的信息,检查数据库,似乎什么都没有改变。。。1可能正在工作,但我无法找出如何使用所有行运行它,2当我回顾数据库时,似乎没有任何变化: import csv mydb = mysql.connector.connect( host="localhost", user="root", passwd="",

我正试图:

更新数据,使婚姻=2个单身和婚姻=3个其他人合并为2个单身。 以及: 删除任何账单AMT1到账单AMT6中账单金额值为负值的所有数据记录 问题是,我运行代码,得到所有明确的信息,检查数据库,似乎什么都没有改变。。。1可能正在工作,但我无法找出如何使用所有行运行它,2当我回顾数据库时,似乎没有任何变化:

import csv

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="",
  database="hw6"
)

mycursor = mydb.cursor()


f = open("UCI_Credit_Card.csv")
for row in csv.reader(f):
    a= row[0]
    b= row[1]
    c= row[2]
    d= row[3]
    e= row[4]
    f= row[5]
    g= row[6]
    h= row[7]
    i= row[8]
    j= row[9]
    k= row[10]
    l= row[11]
    m= row[12]
    n= row[13]
    o= row[14]
    p= row[15]
    q= row[16]
    r= row[17]
    s= row[18]
    t= row[19]
    u= row[20]
    v= row[21]
    w= row[22]
    x= row[23]
    y= row[24]
    sql = "INSERT INTO customers (ID, LIMIT_BAL, SEX, EDUCATION, MARRIAGE, AGE, PAY_0, PAY_2, PAY_3, PAY_4, PAY_5, PAY_6, BILL_AMT1, BILL_AMT2, BILL_AMT3, BILL_AMT4, BILL_AMT5, BILL_AMT6, PAY_AMT1, PAY_AMT2, PAY_AMT3, PAY_AMT4, PAY_AMT5, PAY_AMT6, default_payment_next_month) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
    val = (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y)
    mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")


mycursor = mydb.cursor(buffered=True)
print("Before updating a record ")
sql_select_query = """select * from customers"""
mycursor.execute(sql_select_query)
record = mycursor.fetchone()
print(record)

# Update single record now
sql_update_query = """UPDATE CUSTOMERS SET SEX = 2 where SEX = 3"""
mycursor.execute(sql_update_query)
mydb.commit()
print("Record Updated successfully ")

print("After updating record ")
mycursor.execute(sql_select_query)
record = mycursor.fetchone()
print(record)


# Delete record now
mycursor = mydb.cursor(buffered=True)
sql_update_query = "DELETE FROM customers WHERE (BILL_AMT1<0)AND(BILL_AMT2<0)AND(BILL_AMT3<0)AND(BILL_AMT4<0)AND(BILL_AMT5<0)AND(BILL_AMT6<0) """
sql_delete_query = """select * from customers"""
mycursor.execute(sql_update_query)
mydb.commit()
print("Record Delete successfully ")```

UPDATE语句看起来不错

但说到第二个要求:

删除任何账单AMT1到账单AMT6中账单金额值为负值的所有数据记录

您可能希望在删除查询中使用OR条件,而不是and:

UPDATE语句看起来不错

但说到第二个要求:

删除任何账单AMT1到账单AMT6中账单金额值为负值的所有数据记录

您可能希望在删除查询中使用OR条件,而不是and:


就是这样!记录被删除了!对于update语句,我如何让它遍历数据库中的每一行?@Joseph:你的update语句会更改“sex=3”处的每一条记录-就你所希望的而言,这就是你想要的。就是这样!记录被删除了!对于update语句,我如何让它遍历数据库中的每一行?@Joseph:您的update语句会更改“sex=3”处的每一条记录—这就是您想要的。
DELETE FROM customers 
WHERE  
    BILL_AMT1 < 0
    OR BILL_AMT2 < 0
    OR BILL_AMT3 < 0
    OR BILL_AMT4 < 0
    OR BILL_AMT5 < 0
    OR BILL_AMT6 < 0