我正在使用一个使用mysql的代码。我是mysql的新手,如果你能帮我,我会很感激的。我的输入是一个巨大的维基百科页面转储文件,格式为XMLBZ2。输入格式是使用以下格式从xml文件中提取的一些文本文件:
<doc id="12" url="https://en.wikipedia.org/wiki?curid=12" title="Anarchism"> text... </doc>
将程序连接到sql的唯一部分如下所示:
def read_in_STOP_CATS(f_n = "/media/sscepano/Data/Wiki2015/STOPCAT/STOP_CATS.txt"):
s = []
f = open(f_n, "r")
for line in f:
s.append(line.rstrip().lower())
return s
def connect_2_db():
try:
cnx = mysql.connector.connect(user='test', password='test',
host='127.0.0.1',
database='wiki_category_links')
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(err)
return cnx
def articles_selected(aid):
global cnx
global STOP_CATS
cursor = cnx.cursor(buffered=True)
cursor.execute("SELECT * FROM categorylinks where cl_from = " + str(aid))
row = cursor.fetchone()
while row is not None:
#print(row)
cat = row[1].lower()
#print cat
for el in STOP_CATS:
if el in cat:
return False
row = cursor.fetchone()
return True
cnx = connect_2_db()
STOP_CATS = read_in_STOP_CATS()
TITLE_WEIGHT = 4
我的问题是,现在我不知道我应该如何连接到mysql才能运行代码和主要问题;我不知道代码中的categorylinks是什么?这应该是我的sql表的名称吗?这是否意味着我需要用这个名称创建一个sql表,并将所有文本文件导入到这个表中?在这行中,“where”是什么意思????
1条答案
按热度按时间4xrmg8kj1#
正如riggsfolly所说,你需要
WHERE cl_from = 'some string'
你可以这样做:但最好使用这样的准备好的陈述:
所以在你的代码里你有:
一个名为wiki\u category\u links的数据库
在该数据库中有一个名为categorylinks的表
选择意味着您将从表categorylinks中获得所有列clu from等于aid变量值的行。