我试图将其插入SQL数据库中的制表符分隔的文件中有一些数据。这是我的代码
import csv
import MySQLdb
new_db = MySQLdb.connect(host='localhost',user='me')
cursor = new_db.cursor()
cursor.execute('create database if not exists my_database')
maketablestr = """CREATE TABLE info (Disease VARCHAR(10), NCBI Acc. Number VARCHAR(10) ,Length VARCHAR(10), Sequence VARCHAR(10));"""
cursor.execute(maketablestr)
new_db.commit()
tsv_read = csv.reader(file('marfan.tsv'), delimiter = '\t')
for row in tsv_read:
cursor.execute('INSERT INTO info(Disease, NCBI Acc. Number, Length, Sequence ) VALUES(%s, %s, %s, %s)', row)
new_db.commit()
cursor.close()
new_db.close()
print("Database updated")
运行代码时,出现错误1046“未选择数据库”。对于为什么会出现此错误,我有些困惑,因为我编写的代码主要来自试图与我做同样事情的其他人。
答案 0 :(得分:2)
有两种解决方法:
cursor.execute('use my_database;')
cursor.execute('INSERT INTO my_database.info(Disease, NCBI Acc. Number, Length, Sequence ) VALUES(%s, %s, %s, %s)', row)
请注意,使用后一种方法,您需要调整所有 sql语句