将数据插入 MySQL 数据库
目标是将整数 188 和 90 插入 MySQL 数据库。但是,使用提供的代码的尝试失败了。
分析代码:
<code class="python">conn.cursor() x.execute("SELECT * FROM anooog1") x.execute (" INSERT INTO anooog1 VALUES ('%s','%s') ", (188,90)) row = x.fetchall()</code>
问题在于插入语句的语法。将数据插入表的正确语法是:
<code class="python">x.execute("INSERT INTO anooog1 VALUES (%s, %s)", (188, 90))</code>
这是一个修改后的代码,演示如何成功插入数据:
<code class="python">import MySQLdb conn = MySQLdb.connect(host="localhost", user="root", passwd="newpassword", db="engy1") x = conn.cursor() try: x.execute("INSERT INTO anooog1 VALUES (%s, %s)", (188, 90)) conn.commit() except: conn.rollback() conn.close()</code>
或者,更全面的代码片段,涵盖下面提供了使用占位符创建表并插入数据的方法:
<code class="python">import MySQLdb # Connect to database db = MySQLdb.connect("localhost", "root", "password", "testdb") # Setup cursor cursor = db.cursor() # Create anooog1 table cursor.execute("DROP TABLE IF EXISTS anooog1") sql = """CREATE TABLE anooog1 ( COL1 INT, COL2 INT )""" cursor.execute(sql) # Insert data into table try: cursor.execute("""INSERT INTO anooog1 VALUES (%s, %s)""", (188, 90)) db.commit() except: db.rollback() # Show table cursor.execute("""SELECT * FROM anooog1;""") print(cursor.fetchall()) # Close database connection db.close()</code>
使用此代码,您可以创建 anooog1 表并高效地向其中插入数据。
以上是如何解决MySQL数据插入语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!