尝试将数据插入SQL数据库。错误1046未选择数据库

时间:2019-04-09 16:15:34

标签: python mysql

我试图将其插入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“未选择数据库”。对于为什么会出现此错误,我有些困惑,因为我编写的代码主要来自试图与我做同样事情的其他人。

1 个答案:

答案 0 :(得分:2)

有两种解决方法:

  1. 您运行cursor.execute('use my_database;')
  2. 或者您修改SQL语句以指定数据库,例如:
cursor.execute('INSERT INTO my_database.info(Disease, NCBI Acc. Number, Length, Sequence ) VALUES(%s, %s, %s, %s)', row)

请注意,使用后一种方法,您需要调整所有 sql语句