Mysql 与 python 的联系

Mysql connection with python

这段代码运行没有错误,但没有记录被添加到数据库

mydb=sql.connect(host="localhost",user="root",passwd="")
cmd=mydb.cursor()
cmd.execute("create database if not exists library")
cmd.execute("use library")
cmd.execute("create table if not exists class_12 (roll_no int(2) not null,name varchar(30) not null,book_issued varchar(50),book_no int(6) not null)")
c=input("do u want to edd entries in the book record? y/n : ")
while c=="y":
    print("please supply the following details ")
    r=int(input("roll number of the student"))
    n=str(input("enter the name of the student"))
    bn=str(input("enter the book name"))
    BN=int(input("Enter BOOK number : "))
    inp=("insert into class_12(roll_no,name,book_issued,book_no) values(%s,%s,%s,%s)")
    val=(r,n,bn,BN)
    cmd.execute(inp,val)
    cmd.execute("commit")
    c=input("do u want to edd entries in the book record? y/n : ")```

您没有提交对数据库的更改。在退出之前将提交和关闭调用添加到脚本。

mydb=sql.connect(host="localhost",user="root",passwd="")
cmd=mydb.cursor()
cmd.execute("create database if not exists library")
cmd.execute("use library")
cmd.execute("create table if not exists class_12 (roll_no int(2) not null,name varchar(30) not null,book_issued varchar(50),book_no int(6) not null)")
c=input("do u want to edd entries in the book record? y/n : ")
while c=="y":
    print("please supply the following details ")
    r=int(input("roll number of the student"))
    n=str(input("enter the name of the student"))
    bn=str(input("enter the book name"))
    BN=int(input("Enter BOOK number : "))
    inp=("insert into class_12(roll_no,name,book_issued,book_no) values(%s,%s,%s,%s)")
    val=(r,n,bn,BN)
    cmd.execute(inp,val)
    c=input("do u want to edd entries in the book record? y/n : ")
cmd.commit()
cmd.close()

您需要在所有插入语句之后执行cmd.commit()

Inserting Data Using Connector/Python